这是一个初级的实现,因为只能在客户端和服务器之间对话
服务端程序:
# Echo server program
import socket
HOST = '' # Symbolic name meaning all available interfaces
PORT = 50007 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
while True:
print("waiting for connect...")
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024) # 开始处于接听状态
if not data: break
print("from Server: %s" % data.decode()) # 显示收到的消息
sdata = input("Talk to client:") # 自己要说的话
conn.sendall(str(sdata).encode()) # 发送自己要说的
conn.close()
客户端程序
# Echo client program
import socket
HOST = 'localhost' # The remote host
PORT = 50007 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
print("Ready to talk...")
while True:
sendMessage=input("TalktoServer: ")
s.sendall(sendMessage.encode())
recvdata = s.recv(1024)
print("FromServer: %s" % recvdata.decode())
s.close()
客户端的运行示意:
Ready to talk...
TalktoServer: hello
FromServer: hello,how are you?
TalktoServer: I'm fine thank you
FromServer: me too
TalktoServer: