TCP客户端短连接:
# 客户端代码 import socket ClientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建套接字 SendtoAddr = ("192.168.31.112", 8893) # 服务器端地址 ClientSocket.connect(SendtoAddr) # 与服务器进行连接 ClientSocket.send(b"hello,python") # 发送数据 RecvData = ClientSocket.recv(1024) # 接收数据 print(RecvData) ClientSocket.close()TCP客户端长连接:
# 客户端代码 import socket ClientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建套接字 SendtoAddr = ("192.168.31.112", 8893) # 服务器端地址 ClientSocket.connect(SendtoAddr) # 与服务器进行连接 while True: msg=input("请输入要发送的消息:") ClientSocket.send(msg.encode()) # 发送数据 RecvData = ClientSocket.recv(1024) # 接收数据 print(RecvData) ClientSocket.close()服务端
# TCP服务器端代码 import socket ServerSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 关闭socket端口立即释放 ServerSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) Addr = ("192.168.31.112",8893) ServerSocket.bind(Addr) # 绑定 ServerSocket.listen(5) # 监听,参数5可以是其他数字,在Linux中没有影响,Mac中有影响 ClientSocket, ClientInfo = ServerSocket.accept() # 等待客户端的连接,连接后返回一个客户端套接字对象 while 1: RecvData = ClientSocket.recv(1024) # 接收来自客户端的数据 print(RecvData) ClientSocket.send(b"Get Information") # 向客户端发送数据 #ServerSocket.close()服务端修改版:
# TCP服务器端代码 import socket,os ServerSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 关闭socket端口立即释放 ServerSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) port=8893 Addr = ("192.168.31.112",port) ServerSocket.bind(Addr) # 绑定 ServerSocket.listen(5) # 监听,参数5可以是其他数字,在Linux中没有影响,Mac中有影响 ClientSocket, ClientInfo = ServerSocket.accept() # 等待客户端的连接,连接后返回一个客户端套接字对象 while 1: print('Connect from: ', ClientInfo) # 来自ip及端口 RecvData = ClientSocket.recv(1024) # 接收来自客户端的数据 if 'End' in str(RecvData): ClientSocket.sendall(bytes("Finish!", encoding="utf-8")) ServerSocket.close() os.system('lsof -i tcp:%s' % port) else: print(RecvData) ClientSocket.send(b"Get Information") # 向客户端发送数据mac 查看端口:
lsof -i tcp:8081 查看端口进程pid命令 kill -9 pid 杀掉进程参考: 1.python编程系列—tcp客户端的简单实现 2.Python高级——长连接与短连接(TCP) 3.python 网络编程 TCP/IP socket UDP 4.python网络编程-TCP与UDP