2012-04-08 60 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模塊)