1
我是Python新手,希望得到一些帮助。我的服务器从客户端接收任何类型的数据。我如何修改服务器代码,使其在接收到某个文本字符串时用特定的文本字符串进行响应?Python如何检查并响应套接字数据中的特定字符串?
E.g. 客户端发送* 101# 和服务器使用的Hello World
响应,但如果客户端发送* 102# 服务器将以对不起
感谢响应 格雷厄姆
服务器
from socket import *
serverHost=''
serverport=50007
#open socket to listen
sSock = socket(AF_INET,SOCK_STREAM)
sSock.bind((serverHost,serverport))
sSock.listen(3)
#handle connection
while 1:
conn,addr = sSock.accept()
print ('Client Connection:', addr)
while 1:
data = conn.recv(1024)
if not data: break
print (' Server Received:', data)
newData = data.replace('Client','Processed')
conn.send(newData)
conn.close()
客户端
import sys
from socket import *
serverHost = 'localhost'
serverPort = 50007
message = ['*325#']
if len(sys.argv) > 1:
serverHost = sys.argv[1]
#create my socket
sSock = socket(AF_INET, SOCK_STREAM)
#connect to server
sSock.connect((serverHost, serverPort))
#send a message
for item in message:
sSock.send(item)
data = sSock.recv(1024)
print ('Client received: ', 'data')
sSock.close()