2014-04-22 48 views
0

我有一個python客戶,誰包的一些數據這樣做:如何從C(服務器)收到的Python(客戶端)「解壓」數據包?

#MOUNT UDP PACKET (unsigned char type, 5 char ext, 50 char user) 
pqtUDP = pack('B5s50s', REGISTER, ext, user) 

現在我接收C客戶端上,讓讀取正確的數據,我想我必須把它解壓並將其保存在不同的瓦爾斯,不是?我如何在C中做到這一點?

我需要從接收的數據中讀取REGISTER,ext和user。

+0

當你收拾你知道byter你寫的號碼,只需看它在C ... – Netwave

+0

你能與一些例子有點更加明確?我不知道該怎麼做。謝了哥們! – rul3s

回答

0

像這樣的東西應該用C工作:

// assumes input packet is [const char* data] 
unsigned char reg; 
char ext[6]; 
char user[51]; 
reg = data[0]; 
memcpy(ext, data + 1, 5); 
ext[5] = 0; // set null terminator 
memcpy(user, data + 6, 50); 
user[50] = 0; // set null terminator 
+0

感謝隊友,我想我會工作,現在我明白了! – rul3s

相關問題