python - 扭曲的 self.transport.write() - Python - 附加输出

标签 python xcode twisted

我正在使用 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/

相关文章:

xcode - 如何在iPad硬件(而不是模拟器)中测试iPad应用

python - 相当于 linux 操作系统依赖项的构建?

python - 为什么 Pylint 说 print ('foo' , end ='' ) 是无效语法?

ios - 有没有办法在不从项目中删除的情况下禁用我的应用程序的 Watch 应用程序?

iphone - 如何在 IBAction 中放入无效代码?

python - 处理协议(protocol)、延迟和命令行输入

python - 从 python 中定期运行 Scrapy 会导致 ReactorAlreadyRunning

python - 当 TCP 服务器尝试接受来自扭曲的客户端的连接时,出现 "Unhandled Error"

Python Flask - 使所有文件上传到 tmp 目录

python - 在Django中上传图片