正文
python编程系列---tcp客户端的简单实现
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
实现流程如下:
"""
TCP客户端实现流程
1. 创建一个tcp 客户端对象
2. 与服务端建立连接
3. 通过tcp socket 收发数据
4. 关闭连接
关闭tcp
"""
代码如下: from socket import * def main():
# .创建tcp_client_socket 套接字对象
tcp_client_socket = socket(AF_INET,SOCK_STREAM)
# 作为客户端,主动连接服务器较多,一般不需要绑定端口 # .连接服务器
tcp_client_socket.connect(("192.168.44.88",))
while True:
"""无限循环可以实现无限聊天"""
# .向服务器发送数据
meg = input("请输入要发送的消息:")
tcp_client_socket.send(meg.encode())
# 在linux中默认是utf-8编码
# 在udp协议中使用的sendto() 因为udp发送的为数据报,包括ip port和数据,
# 所以sendto()中需要传入address,而tcp为面向连接,再发送消息之前就已经连接上了目标主机 # .接收服务器返回的消息
recv_data = tcp_client_socket.recv() # 此处与udp不同,客户端已经知道消息来自哪台服务器,不需要用recvfrom了 if recv_data:
print("返回的消息为:",recv_data.decode('gbk'))
else:
print("对方已离线。。")
break tcp_client_socket.close() if __name__ == '__main__':
main()
测试结果:
from socket import * def main():
# .创建tcp_client_socket 套接字对象
tcp_client_socket = socket(AF_INET,SOCK_STREAM)
# 作为客户端,主动连接服务器较多,一般不需要绑定端口 # .连接服务器
tcp_client_socket.connect(("192.168.44.88",))
while True:
"""无限循环可以实现无限聊天"""
# .向服务器发送数据
meg = input("请输入要发送的消息:")
tcp_client_socket.send(meg.encode())
# 在linux中默认是utf-8编码
# 在udp协议中使用的sendto() 因为udp发送的为数据报,包括ip port和数据,
# 所以sendto()中需要传入address,而tcp为面向连接,再发送消息之前就已经连接上了目标主机 # .接收服务器返回的消息
recv_data = tcp_client_socket.recv() # 此处与udp不同,客户端已经知道消息来自哪台服务器,不需要用recvfrom了 if recv_data:
print("返回的消息为:",recv_data.decode('gbk'))
else:
print("对方已离线。。")
break tcp_client_socket.close() if __name__ == '__main__':
main()
如果你和我有共同爱好,我们可以加个好友一起交流!