2012-11-16 85 views

回答

0

使用寫入和服務器端看? 我認爲你必須更精確.. 它總是相同的數據結構嗎?如果不是,你怎麼知道你收到哪條消息?

+0

是的,它始終是相同的數據結構。我會嘗試用寫和讀功能來實現!謝謝! – Trozan

0

假設你試圖發送一個結構的實例,你可以只發送二進制數據(用struct的大小寫結構)。這假定你在結構中沒有任何指針,並且你的結構定義在兩邊都完全匹配(相同的位對齊)。

這不是很便攜,並且有很多假設。

更好的選擇是將數據編碼成標準格式。我喜歡JSON,主要是因爲它很簡單,並且有很多解析器。您可以將結構編碼爲JSON(請參閱庫文件http://json.org/),通過套接字發送,並在另一端解碼。你需要發送多大的數據,所以你可能需要想出一個簡單的協議(前4個字節是JSON數據的大小,然後發送JSON數據)。

定製協議非常糟糕,所以您可能需要查看標準化協議。如果您只想通過TCP發送二進制數據,請考慮WebSocket協議。這基本上是我描述的,但更靈活一點。

這就是我所做的,它工作得很好。

相關問題