创建一个回声服务器



我是Python的新手,并尝试编码。我想创建简单的Echo Server ie我输入对客户端的任何内容都将被服务器回回去,如果客户端用户用户按ENTER不编写任何内容,则服务器将断开连接。这可能很简单,但我在这里缺乏逻辑,任何帮助?

这是我的代码

#!/usr/bin/env python
import socket
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #create socket
s.bind(("0.0.0.0",12345))   #binding port
s.listen(1) #listening for only one client
print "I am listening..."
conn,addr=s.accept()    #accept the connection
conn.send("nEnter your name.n")
data = conn.recv(2048)
print "Client name is : ",data
conn.send("Now each word you typed will be echo back to you.n")
while len(data)>0:
    data=conn.recv(2048)
    if data == '':
        sys.exit()
    else:   
        conn.send(data)

结果将包含一个newline,但您可以简单地调用str.Strip以过滤出来:

conn.send("nEnter your name.n")
data = conn.recv(2048)
if not data.strip():
    print('Please enter a name')
    return 1
print("Client name is : ", data)

最新更新