我正在通過網絡從C服務器接收到我的Python客戶端的結構。協議是UDP。我無法控制服務器,它是協議/數據格式。它由這個結構(是的,在IPv4 +端口)的:反序列化C數據
struct ip_s {
uint8_t i1;
uint8_t i2;
uint8_t i3;
uint8_t i4;
uint16_t port; // big endian
};
除了將其轉化爲大端數據被髮送「原樣」,澆鑄到一個(char*)
的端口。
如何將此結構接收爲可由Python處理的格式?
其它信息:
- Python 2.7版或3.x的
- 跨平臺
- 最好的解決方案只使用內置模塊
已經發現它是正確的,但我會留下問題以供進一步參考。 – orlp 2011-05-16 22:29:47
噢,''BBBBH''應該是''!BBBBH「'的大端口。 – orlp 2011-05-16 22:39:34
我自由地編輯了你的答案。 – orlp 2011-05-17 00:24:51