2012-04-08 82 views
1

我使用蟒蛇绞发送回复我的客户端应用程序(iPhone应用程序)。回复并转到客户端,但我得到的客户端附加输出字符串结束扭曲self.transport.write() - Python的 - 追加输出

这是我发送给我的客户的地方 - 在客户端我收到接收

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" 

这是串联字符串 -

即:如果我有以下的CLIENTNAME阵列 - 杰克,洛基 我收到的客户端

“JackRocky”下面的字符串---我要保存数组中的名称所以这是一个问题。

为什么服务器不发送的名字一个接一个?

回答

0

我在服务器脚本代码是错误的,而不是发送相应的消息给客户端应用程序,只是要纠正一个循环,现在一切工作正常。

2

随着TCP连接是没有保证两个写可转换为两个读在另一端,由于连接被认为是一个持续的字节流,缓冲可以发生在任何地方。这意味着你应该使用某种元素分隔符来发送数组。如果您有序列化/反序列化库客户端和服务器上的共同协议,它通常简单的方法就是用这个。一个流行的例子是JSON(Python有一个json模块)