2012-09-26 16 views
-1

我想送一個結構如何送過來的WebSockets的結構

struct s { 
    unsigned int a; 
    unsigned short b; 
    unsigned char str[16]; 

} 

如何發送結構像上面用JavaScript?我不能使用json。

+0

你不能使用JSON?爲什麼不?你不能把它全部包裝在一個字符串中嗎?另外,要更具體地說明你要完成什麼以及爲什麼需要傳遞一個C結構聲明。 – jrajav

+0

我用C++編寫的服務器。它不支持json。 –

+1

有C++的JSON實現。無論如何,你只需要以*某種方式序列化你的數據。 JSON是實現它的一種方式,但還有很多其他選擇。您只需將數據轉換爲字符串或字節序列即可 – jalf

回答

0

沒有辦法「發送結構」,這樣你就不必在服務器上進行任何拆包。結構定義只對C++服務器有意義,即使在那裏它的映射到內存的方式也不能保證。您將需要某種序列化(將程序數據轉換爲可用於存儲或傳輸的可解析數據流),而XML和JSON等文本格式是一種簡單可靠的方法。我會用JSON去,因爲它本身受到Javascript的支持;你所要做的就是將屬性添加到一個對象,然後JSON.stringify它。真正的工作是在服務器端。在那裏,您需要使用庫如JsonCppnosjob來讀取JSON數據。然後您可以手動將每個值存儲在您的結構中。