2010-05-31 135 views
0

使用Visual Studio 2005 語言:C#協議通信幫助

一個新的C#

我有軟件,該軟件應與GPRS設備進行通信。所以我想寫一個協議,TCP,UDP通信代碼。

任何人都可以給出一些想法,編寫一個源代碼和一些示例代碼也。

回答

0

當你說該軟件應與GPRS設備進行通信, 我會假設你的意思是他們想要使用TCP/IP與彼此進行通信,並且兩個端點通過GPRS調制解調器連接到彼此的事實應該幾乎沒有差別,除了必須牢記有限的帶寬和較慢的傳輸速度這一事實。

(一些額外的工作確實有當您使用的連接到您的系統GPRS調制解調器使用RS232或USB接口,我假設GPRS調制解調器與此有直接的RJ45連接器做)

你的第一個一步是確保您瞭解TCP/IP和UDP/IP的基礎知識。 你沒有提及你想在應用程序之間交換什麼樣的數據, ,所以我們很少繼續下去。您需要確定應用程序將交換的消息類型,並且您需要確定是使用TCP/IP還是UDP/IP 來交換這些消息。長話短說,你應該只使用UDP,如果你能承受在這個過程中損失幾個字節。 (例如,如果在流式傳輸視頻時丟失了幾幀,則無關緊要)。

一旦你決定了應用程序應該交換什麼類型的消息,你需要確定你將如何表示它們。 Olivier指出你應該看看ProtoBuf.Net,它是Google Protocol Buffers的一個.NET實現。

你可以找到關於該主題在這裏更多的信息:http://code.google.com/intl/nl-NL/apis/protocolbuffers/docs/overview.html

基本上,它允許你定義的消息是這樣的:

message Person { 
    required string name = 1; 
    required int32 id = 2; 
    optional string email = 3; 

    enum PhoneType { 
    MOBILE = 0; 
    HOME = 1; 
    WORK = 2; 
    } 

    message PhoneNumber { 
    required string number = 1; 
    optional PhoneType type = 2 [default = HOME]; 
    } 

    repeated PhoneNumber phone = 4; 
} 

其中,由ProtoBuf.Net的手段,就可以使用你的代碼。 谷歌協議緩衝區的二進制格式足夠緊湊,通過GPRS連接傳輸 。

我希望這給你一些出發點, 第一deside你想要什麼,然後看看我們已經提到 點,並隨時在未來

發佈新的(更具體的)問題