我正在用Python開發一個TCP客戶端。我的問題出現在我想將結構發送到服務器時,我使用方法struct.pack()
發送和struct.unpack()
接收。我有我自己的協議在TCP上,有一些標題,我已經知道它們的長度,但當然,我不知道身體的長度,我怎麼能不知道身體的長度包裝所有領域?這裏有一個例子:struct.pack()Python未知字段通過套接字發送的長度
請求到服務器:從服務器
pack('!BBBBHHII', P2P_h.version, P2P_h.ttl, P2P_h.msgType, P2P_h.reserved, P2P_h.sendPort, P2P_h.payloadLength, P2P_h.ipSrc, P2P_h.messageId)
響應:
queryHit = unpack ("!BBBBHHII", queryResponse)
在那些例子,僅僅是標題,我的意思是,字段,我已經知道他們的長度,我怎麼可以添加身體領域?
身體的類型是什麼? – goncalopp