我使用Twisted python发送回复给我的客户端应用程序(iPhone应用程序)。回复确实发送到客户端,但我在客户端获得附加的输出字符串
这是我发送给我的客户的地方 -
for name in clientname:
print "name in clientName array is"+name
self.sendClientName(name)
def sendClientName(self , name):
self.transport.write(name)
print "client name sent to client app"
在客户端我收到连接的字符串 -
ie:如果我在clientname数组中有以下内容 - Jack,Rocky 我在客户端收到以下字符串
“JackRocky”---我想保存数组中的名称,这是一个问题。
为什么服务器没有逐个发送名称?
答案 0 :(得分:2)
使用TCP连接时,无法保证两个写入将转换为另一端的两个读取,因为连接被认为是一个连续的字节流,并且缓冲可以在任何地方发生。这意味着您应该使用某种元素分隔符发送数组。如果您有一个用于客户端和服务器上的通用协议的序列化/反序列化的库,那么通常最容易使用它。一个流行的例子是JSON(Python有一个json模块)
答案 1 :(得分:0)
我在服务器脚本中的代码是错误的,没有向客户端应用程序发送相应的消息,只需要纠正一个循环,现在一切正常。