700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > TCP客户端与服务端开发

TCP客户端与服务端开发

时间:2020-04-26 21:12:50

相关推荐

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 socketimport 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()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。