我正在使用 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"
在客户端我收到连接的字符串 -
即:如果我的客户端名称数组中有以下内容 - Jack,Rocky 我在客户端收到以下字符串
“JackRocky” --- 我想将名称保存在数组中,所以这是一个问题。
为什么服务器不一一发送名称?
最佳答案
对于 TCP 连接,不能保证两次写入会转换为另一端的两次读取,因为连接被认为是一个连续的字节流,并且缓冲可能发生在任何地方。这意味着您应该发送带有某种元素分隔符的数组。如果您有一个用于客户端和服务器上通用协议(protocol)的序列化/反序列化库,那么通常最简单的方法就是使用它。一个流行的例子是 JSON(Python 有一个 json 模块)
关于python - 扭曲的 self.transport.write() - Python - 附加输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10062413/