实现流程如下:
"""
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()
测试结果:
如果你和我有共同爱好,我们可以加个好友一起交流!