用c#來編寫socket程式,總的來說還是比較方便的,微軟幫忙我們做了很多任務作。socket程式設計應用很多, 相關資料網上也很多,因為工作需要,前一段時間也用c#編寫乙個socket程式,在這裡寫一下也算乙個記錄。
在伺服器端建立乙個socket,使用bind方法繫結所指定的介面使socket與乙個本地終結聯,並通過listen方法偵聽該介面上的請求,當偵聽到使用者端的連線時,呼叫accept完成連線的操作,建立新的socket以處理傳入的連線請求。
使用完socket後,記住使用shutdown方法禁用socket,並使用close方法關閉socket
在c#中,微軟提供了socket 類
public class socket : idisposable}}
}
客戶端將是通過tcpclient的connect方法來連線到指定的伺服器,並通過send方法傳送資料,receive接收資料。具體**如下:
using system;
using system.text;
using system.collections;
using system.net;
using system.net.sockets;
using system.io;
using system.threading;
using system.collections.generic;
namespace consolesocketclient
}}
當然這個只是簡單的說明socket如何通訊,上面只是**的簡單演示,僅幫助大家學習、理解socket程式設計,socket實戰還有很多路需要走。在實際程式設計過程中,socket大多都與多執行緒有關係。沒有多執行緒,可以說socket程式設計就沒有太多的意義。因為socket涉及到太多了阻塞、執行和等待。如果以前沒有做過socket程式設計,很多時候會感覺程式莫名其妙的不動了,或者說是沒有正常的響應了。其實這個時候往往就是程式處於阻塞狀態。如果沒有相應經歷,總有點怪怪的感覺。解決辦法就是採用多執行緒的方式。具體怎麼弄,後面的文章再來寫寫。
上述**在.net 4.0中編譯通過。
Socket程式設計 C
下面是示例程式的簡單步驟說明 伺服器端 第一步 用指定的埠號和伺服器的ip建立乙個endpoint對像 第二步 建立乙個socket對像 第三步 用socket對像的bind 方法繫結endpoint 第四步 用socket對像的listen 方法開始監聽 第五步 接受到客戶端的連線,用socket...
wxWidgets程式設計起步
安裝wxwidgets遭遇的兩大關卡 簡稱 前文 先推薦一下這兩天找到的學習材料。部落格中有乙個系列教程,貌似作者沒有寫完,見 跟我學wxwidgets開發 系列教程。要看書,就 使用wxwidgets進行跨平台程式開發 我給的鏈結中,包括中書中的原始碼。這本書,是 cross platform g...
C 網路程式設計 Socket程式設計
套接字簡介 套接字最早是unix的,window是借鑑過來的。tcp ip協議族提供三種套接字 流式 資料報式 原始套接字。其中原始套接字允許對底層協議直接訪問,一般用於檢驗新協議或者新裝置問題,很少使用。套接字程式設計原理 延續檔案作用思想,開啟 讀寫 關閉的模式。c s程式設計模式如下 開啟通訊...