//監聽本地的7890埠,限定接收的socket為10個
string ip = "127.0.0.1";
string port = "7890";
//建立了乙個負責監聽的socket.
socket listensocket = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);
ipaddress ipaddress = ipaddress.parse(ip);//ip位址.
ipendpoint ipendpoint = new ipendpoint(ipaddress, convert.toint32(port));
listensocket.bind(ipendpoint);//監聽的socket繫結了乙個通訊的節點
listensocket.listen(10);//look一下資料有沒有發過來,限制數量為10
thread mythread = new thread(new threadstart(delegate
));mythread.start();
//開啟了乙個執行緒,這個執行緒while迴圈,再迴圈中監聽socket,如果發現有socket請求,讀取socket的請求內容
/// /// 監聽,操作返回的socket
///
///
public void beginaccept(socket listensocket)
else
}}
//返回資料
#region 響應報文
//按照請求報文中的回車換行符進行分割。
string msgs = request.split(new char , stringsplitoptions.removeemptyentries);
//獲得當前伺服器程式的執行目錄
//從請求報文中獲取了使用者請求的檔案的名稱
string filepath = msgs[0].split(' ')[1];
if (ddir.endswith(@"\bin\debug\") || ddir.endswith(@"\bin\release\"))
string fulldir = ddir + filepath;//獲取要返回檔案的完整路徑。
if (file.exists(fulldir))
}else
#endregion
瀏覽器訪問時的url
藍色字型為鏈結
Socket網路通訊
服務端的程式如下 1.建立乙個伺服器端socket,即serversocket,指定繫結的埠,並監聽此埠8888 serversocket serversocket new serversocket 8888 socket socket null 記錄客戶端的數量 int count 0 syste...
socket網路通訊
read write recv send readv writev recvmsg sendmsg recvfrom sendto include ssize t read int fd,void buf,size t count ssize t write int fd,const void bu...
socket網路通訊《二》
socket網路通訊 本文注意基於socket來分析tcp連線建立過程。先回顧一下tcp連線建立過程 主機a執行的是tcp客戶端程式,主機b執行的是tcp伺服器程式,最初兩端tcp程序處於closed態,a主動開啟連線,對應客戶端connect函式發起連線,b被動接受連線,對應於伺服器listen函...