我以前从未做过python编程,所以我希望你们可以在我的代码中给我一些反馈。
我有一个节点 js tcp 服务器,它必须接收一个 json“请求”对象,然后将用其他几个 json 对象异步响应。
我需要python一个一个地读取所有的json,然后返回一个回调,直到服务器发送一个代表响应“结束”的对象。
我做得对吗?
def requestServer(onData, options={}):
opts = {'command': 'request'}
socket = connect()
opts.update(options)
socket.send(json.dumps(opts)) # send the json request to the server
while(True):
data = socket.recv(1024*5) #reads back any response
if(data):
data = json.loads(data)
if('responseType' in data and data['responseType'] == 'end'):
break # end of response
else:
onData(data)
time.sleep(0.1)
socket.close()
def connect():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8888))
return s
然后我可以像这样使用它:
def onData(data):
print("Data received from server: ")
print(data)
requestServer(onData, {'some': 'options'})