按照题目的意思,我写的程序如下:
服务器端程序:
import socket
HOST = '' # Symbolic name meaning all available interfaces
PORT = 50007 # Arbitrary non-privileged port
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
recv_data = conn.recv(1024)
print('对方说的话是:'+recv_data.decode('utf-8'))
send_data = input('在此输入要给对方说的话:')
conn.send(send_data.encode('utf-8'))
客户端程序:
# Echo client program
import socket
HOST = '127.0.0.1' # The remote host
PORT = 50007 # The same port as used by the server
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
while True:
send_data = input('在此输入要给对方说的话:')
s.send(send_data.encode('utf-8'))
recv_data = s.recv(1024)
print('对方说的话是:'+recv_data.decode('utf-8'))
我运行了一下,达到了效果,只是没有定义bye-bye程序,执行情况如下: