2010-02-11 64 views
0

我想連接兩臺PC並讓它們通信。有沒有一個很好的組件來做到這一點? (最好來自TMS,或免費),還是我只使用標準的C++套接字庫?C++ Builder - 基本的互聯網編程

發送數據怎麼樣?我應該發明一個簡單的協議嗎? TLV(類型/長度/值),其中T是消息類型,..你得到圖片...

回答

4

由於您使用C++ Builder中,你確實應該使用Indy組件,它們是一個很好很好的測試和易於使用一套網絡組件的工作......他們都已經內置到C++ Builder中。如果您正在使用C++ Builder中,使用Qt或提升可以(根據C++ Builder的版本,當然)是真的有問題。

Indy組件:http://www.indyproject.org/index.en.aspx

隨着你得到所有你需要的基本每樣你需要網絡開發的組件Indy組件,它是迄今爲止對於C++ Builder/Delphi的最完整的網絡解決方案,我看到。

您可能會發現這篇文章有趣:Developing TCP/IP-based Server Applications using Indy Components [1]它顯示了在Delphi例子,但轉換成C++應該是微不足道的。

除了Delphi in Depth [2]本書還是一個很好的資源,並且還包含C++中的示例。

關於制定自己的協議,這幾乎是不可能回答一個明確的回答這個問題,這真的取決於你的要求。也許你應該先問問自己,有一個現有的協議,將工作對我來說,你結束之前,也許,重新發明輪子。

[1] http://conferences.embarcadero.com/article/33256
[2] http://www.atozed.com/indy/book/index.en.aspx

1

你應該看看QtBoost。 (我個人更喜歡Qt的網絡API和文檔,但你可能會有不同的感覺。)

而且爲了簡單起見,你爲什麼要發明自己的協議?只需使用HTTP。使用它很容易,你可以使用各種工具,而不僅僅是自己的代碼,來驗證一切正常。