0

私はPythonが初めてで、コーディングしようとしています。シンプルなエコー サーバーを作成したいです。つまり、クライアントに入力したものはすべてサーバーによってエコー バックされ、クライアント ユーザーが何も書き込まずに 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)
4

1 に答える 1

0

結果には改行が含まれますが、単純に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)
于 2014-02-02T12:27:02.157 に答える