應用程式在網路上通訊的實現(C )

2021-05-22 23:50:44 字數 2847 閱讀 4212

最近趕活,連續在網上抄了好幾次**,很讓我覺得有點不好意思,因為我一般不大喜歡發**段,覺得沒啥意思。不過最近這個想法有所改變,大家互相抄抄有助於提高生產率嘛。。。

以下發乙個通訊類,如需引用,請註明作者,謝謝。

}}說明:

這個類包含兩個子類,tcpmanage和udpmanage,分別處理tcp和udp兩種協議。tcp用於點對點,udp用於組內多播。由於實際網路情況複雜多變,應多加try和檢查,但是我偷懶,就不做了,如果要在專案中引用本類,而你也和我一樣懶得去修改它的話,應在呼叫每乙個方法時加try。

另外,當接收資料時我為簡單起見沒有分段,所以只能用於處理小資料量,而且只能傳輸字串。(要實現其它,在這個基礎上稍做處理即可)這個類的目的非常明確,就像qq一樣在網路上傳輸不太長的字串,所以它的介面非常簡單,呼叫起來非常容易。但同時也犧牲了自定義的空間,不過我認為這一般不是個問題,封裝的目的就是要簡單。

以下是測試**,同時也演示了如何使用這個類。

新建乙個windows form專案,在上面放兩個文字框(它們最好夠大),上面乙個叫txt1,用於儲存訊息歷史,下面乙個叫txt2,用於向別人傳送(就像qq聊天視窗一樣),最下面放個按鈕, 如下圖所示:

然後在**頁中:

public partial class 

form1 : form

communication.udpmanage udpmng;

communication.tcpmanage tcpmng;

private void form1_load(object sender, eventargs e)

private void form1_formclosing(object sender, formclosingeventargs e)

private void settext(string val)

private void button1_click(object sender, eventargs e)

}

以上**同時演示了tcp和udp兩個類的使用方法,其中tcp的部分注釋掉了。

在網頁上啟動你的應用程式

現在有一些程式是b s和c s混合的,在winform裡也可以方便的嵌入web,vs2003和vs2005都提供了這樣的控制項。工具等。笨一點的做法,是通過客戶端js來啟動。這樣做有安全隱患,因此window後面版本的作業系統,嚴格限制了js的許可權。研究qq的實現方式,發現非常簡單。看下面的註冊檔...

應用程式與DLL的通訊

最近乙個星期,一直被乙個問題困惑著,就是應用程式與dll的通訊問題。在網上查詢了三個解決方法 1.傳送訊息 1 在dll中定義乙個自定義訊息 define wm mymessage wm user 1 訊息的定義應該放在與應用程式通訊的.h檔案中,我是這麼做的,可能也可以在應用程式中重新定義,不過我...

Silverlight應用程式的本地通訊

silverlight應用程式的本地通訊 正好需要,記錄一下。silverlight 應用程式的本地通訊 在實際開發中,可能會在同乙個網頁上放置多個 silverlight應用程式,而這些應用程式之間可能需要互相通訊,比如實現兩個silverlight應用程式之間的同步。從silverlight 3...