Python实现半双工socket

    科技2024-04-22  54

    服务器(server):

    import socket # 1.创建套接字 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.绑定端口 server.bind(('127.0.0.1', 7890)) # 3.变为被动监听模式 server.listen(4) while True: # 4.等待客户端链接 s_new, addr = server.accept() print('用户【{}】已经成功连接!!'.format(addr[0])) while True: # 5.接受消息 recv_data = s_new.recv(1024) print('来自【{}】的用户表示: {}'.format(addr[0], recv_data.decode('utf-8'))) if recv_data: # 6.发送消息 send_data = str(input('请输入想要发送的数据:')) s_new.send(send_data.encode('utf-8')) else: print('用户已经退出!') break s_new.close() # 7,关闭套接字 server.close()

    客户端(client):

    import socket # 1.创建套接字 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.绑定IP地址和端口 s.connect(('127.0.0.1', 7890)) while True: # 3.发送数据 send_data = str(input('请输入想要发送的数据:')) if send_data == 'exit': break s.send(send_data.encode('utf-8')) # 4.接收数据 recv_data = s.recv(1024) print('服务器反映:【{}】'.format(recv_data.decode('utf-8'))) # 5.关闭套接字 s.close()

    运行结果(服务器):

    运行结果(客户端):

    Processed: 0.018, SQL: 9