TCP客户端与服务端开发
**
TCP客户端与服务端开发
**
客户端
import socket# 创建客户端套接字对象
# 超数1 :iPv4(ip协议版本)
# 参数2:选择协议(socket.SOCK_STREAM==》协议)
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服务套接建立连接
# 参数:元组(有两个元素)1,服务器ip,2。服务器端口号
tcp_client_socket.connect(("192.168.1.3", 8080))# 发送数据(数据必须是二进制)
data = "我是黎宁"
data = data.encode("utf-8")
tcp_client_socket.send(data)
# 接收数据
# 参数:接收数据的大小(字节大小)
recv_data = tcp_client_socket.recv(1024)
recv_data = recv_data.decode("utf-8")
print(recv_data)
# 关闭客户端
tcp_client_socket.close()
服务端多任务
import socket
import multiprocessingdef handler_client_request(client_socket):"""处理客户端请求"""while True:# 5.接收数据# 接收数据的大小(字节)client_data = client_socket.recv(1024)# 如果接收到数据长度为0 则证明客户端关闭if len(client_data) == 0:print("客户端关闭")break# 对二进制数据解码client_data = client_data.decode()print(client_data)# 6.发送数据send_data = "你好".encode()client_socket.send(send_data)client_socket.close()def main():# 1.创建服务器端接字对象# 超数1 :iPv4(ip协议版本)# 参数2:选择协议(socket.SOCK_STREAM==》协议)tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 端口复用设置 一旦服务端关闭 端口立即释放# setsockopt 设置socket选项# 参数1socket 选项列表(SOL)# 参数2 地址复用# 参数3 True 开启选项,False 不开启,默认不开启tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 2.绑定端口号# 参数:元组(两个元素)1,服务器ip,2服务器端口号# 不写默认默认本机iptcp_server_socket.bind(("", 8080))# 3.设置监听# 参数最大监听个数128tcp_server_socket.listen(128)while True:# 4.阻塞等待接收客户端的连接请求# 返回值是一个元组(两个元素)元素1,和客户端通讯的socket# 2.客户端的地址信息(ip,端口)# 通过拆包语法,我们分别获取元素1和元素2client_socket, client_addr = tcp_server_socket.accept()# 创建子进程sub_process = multiprocessing.Process(target=handler_client_request, args=(client_socket,))sub_process.start()# 7.关闭套节字client_socket.close()tcp_server_socket.close()if __name__ == "__main__":main()
TCP客户端与服务端开发相关推荐
- Esp8266学习之旅⑧ 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。(带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现
1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动&quo ...
- java基础—网络编程——TCP客户端与服务端交互
import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import ja ...
- TCP客户端、服务端程序开发
套接字类似于通讯工具 # 客户端 import socketif __name__ == '__main__':# 1.创建客户端套接字对象tcp_client_socket = socket.soc ...
- 简易TCP客户端和服务端的实现
文章目录 1 客户端的实现 2 服务端的实现 1 客户端的实现 用Socket API建立简易TCP客户端: 建立一个socket. 连接服务器 connect. 接收服务器信息 recv. 关闭so ...
- Go tcp客户端、服务端编程
内容参考net包,net包提供了可移植的网络I/O接口,包括TCP/IP.UDP.域名解析和Unix域socket. 虽然本包提供了对网络原语的访问,大部分使用者只需要Dial.Listen和Acce ...
- 基于安卓的企业物流管理系统(Android客户端+JavaSSM服务端开发的物流管理APP)
摘 要 随着互联网的技术的快速发展和无线网络的更新迭代,使4G网络已成为过去式5G网络蓬勃发展.技术的发展,硬件的提高使人们使用智能手机可以更加快速.便捷的浏览信息.获取信息. 本文首先介绍企业物流管 ...
- 客户端和服务端简单开发
今天是第一次写博客,因为最近在学习Java编程,以前没有接触过,学起来也比较困难,在网上看到有大佬说写博客是一种很好的提升自己的方式,所以我也打算把学习到的知道,发布到博客上,方便查阅. 今天学习了客 ...
- QTcpSocket客户端和服务端发送图片(或大文件)小Demo
先看一下效果: 思路: 发图片.大文件与发短字符不大一样. 1.文件和图片通过TCP可能一次发不过去,可能要发很多次.所以我们在发送文件.数据.以及文字最好带上文件的大小. 2.图片转换成文件流的形式 ...
最新文章
- 在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包
- C++ 贪吃蛇小游戏
- 前端学习(1484):json-server工具使用
- Jackson动态处理返回字段
- 我的开源项目——Jerry
- 【论文分享】ACL 2020 信息抽取任务中的新动向
- [渝粤教育] 西安工业大学 数字电子技术基础 参考 资料
- Atitit Uncaught (in promise) SyntaxError Unexpected token in JSON at position 0
- jsp java mysql_jsp java mysql
- 计算机单机游戏c0005错误,堡垒之夜Epic Games Launcher错误怎么办错误解决方法介绍...
- 3D打印切片软件cura使用
- 多元线性回归模型矩阵推导(手推带矩阵求导法则)
- iOS 10.1发现新漏洞:可绕过“激活锁”强行进入主屏
- 尚硅谷SpringCloud2020简单学习记录(个人用)65-73集
- 传感器实验——无源蜂鸣器
- 用Squid和DNSPod打造自己的CDN详细教程
- 2018年上半年信息系统项目管理师考试真题附答案解析(3)
- 【思考】冷启动、种子用户的获取和激活
- SQLiteSpy下载安装
- python3获取网页天气预报信息并打印