实现流程如下:
"""
TCP客户端实现流程
1. 创建一个tcp 客户端对象
2. 与服务端建立连接
3. 通过tcp socket 收发数据
4. 关闭连接
关闭tcp
"""
代码如下:
1 from socket import * 2 3 def main(): 4 # 1.创建tcp_client_socket 套接字对象 5 tcp_client_socket = socket(AF_INET,SOCK_STREAM) 6 # 作为客户端,主动连接服务器较多,一般不需要绑定端口 7 8 # 2.连接服务器 9 tcp_client_socket.connect(("192.168.44.88",8080))
10 while True: 11 """无限循环可以实现无限聊天""" 12 # 3.向服务器发送数据 13 meg = input("请输入要发送的消息:") 14 tcp_client_socket.send(meg.encode())
# 在linux中默认是utf-8编码 15 # 在udp协议中使用的sendto() 因为udp发送的为数据报,包括ip port和数据,
# 所以sendto()中需要传入address,而tcp为面向连接,再发送消息之前就已经连接上了目标主机 16 17 # 4.接收服务器返回的消息 18 recv_data = tcp_client_socket.recv(1024) # 此处与udp不同,客户端已经知道消息来自哪台服务器,不需要用recvfrom了 19 20 if recv_data: 21 print("返回的消息为:",recv_data.decode('gbk')) 22 else: 23 print("对方已离线。。") 24 break 25 26 tcp_client_socket.close() 27 28 29 if __name__ == '__main__': 30 main()
测试结果:
如果你和我有共同爱好,我们可以加个好友一起交流!