import socket # 创建流式socket对象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定本机地址和端口8080 s.bind(('172.31.1.138', 8080)) # 监听最多10个连接 s.listen(128) print('服务器启动成功,等待客户端连接...') # 循环接受客户端连接 while True: #接受一个客户端连接 conn, addr = s.accept() print('收到来自{}的连接'.format(addr)) # 循环接收和发送数据 while True: # 接收客户端发送的数据 data = conn.recv(1024) print('收到来自{}的消息:{}'.format(addr, data.decode('utf-8'))) if len(data)<=0: break # 将接收到的数据原样返回给客户端 conn.sendall(data) # 关闭连接 conn.close() print('与{}断开连接'.format(addr)) # 关闭socket s.close()
import socket # 创建流式socket对象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接服务器地址和端口8080 s.connect(('172.31.1.138', 8080)) print('成功连接服务器') for i in range(10): # 输入要发送的数据 data = input('请输入要发送的消息:') # 如果输入空字符串,则跳出循环 # 将数据编码为字节对象 data = data.encode('utf-8') # 发送数据给服务器 s.sendall(data) # 接收服务器返回的数据 data = s.recv(1024) # 打印接收到的数据 print('收到来自服务器的消息:{}'.format(data.decode('utf-8'))) # 关闭socket s.close()