C Socket通訊的實現 同時監聽多客戶端

2022-09-28 03:54:13 字數 2085 閱讀 1148

//建立socket物件

//第乙個引數:設定網路定址的協議、第二引數設定資料傳輸的方式、第三個引數設定通訊協議

socket serversocket = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);

//2.繫結ip埠

string str = "127.0.0.1";

int ports = 55555;

ipaddress ip = ipaddress.parse(str);

ipendpoint ipendpoint = new ipendpoint(ip, ports);

serversocket.bind(ipendpoint);

//3.開啟監聽

serversocket.listen(10);

label5_timer.text = "開始監聽";

//4.開始接受客戶端的鏈結

程式設計客棧 threadpool.queueuserworkitem(new waitcallback(this.startac程式設計客棧ceptclient), serversocket);

}public void startacceptclient(object state)

鏈結上了", stinfo));

clientprosocketlist.add(prosock);

//伺服器接收客戶端的訊息

threadpool.queueuserworkitem(new waitcallback(this.receivedata), prosock);

}catch (exception e)

}public void receivedata(object obj)

ilfthry catch (exception e)

異常退出", prosock.remoteendpoint.tostring()));

stopconnecte(prosock);

return;

}if (realen <= 0)

正常退出:", prosock.remoteendpoint.tostring()));

}prosock.shutdown(socketshutdown.both);

prosock.close();

clientprosocketlist.remove(prosock);

return;

}//接受到的資料

string fromclientmsg = encoding.default.getstring(data, 0, realen);

appendtextlog(string.format("接收到 的訊息是:", prosock.remoteendpoint.tostring(), fromclientmsg));}}

private void stopconnecte(socket prosock)

}catch (exception ex)

}public void appendtextlog(string txt)

\r\n", s, textbox_message.text);

}), txt);

//同步方法

//textbox_message.invoke(new action(s =>

// \r\n", s, textbox_message.text);

// }

// ), txt);

}else

\r\n", txt, textbox_message.text);}}

//在貼上**時可能有漏''

補充:c# socket的listen監聽方法

_serversocket.listen(10);

public void listen(int backlog);

listen方法的整型引數表示的是:排隊等待連線的最大數量,注意這個數量不包含已經連線的數量

本文標題: c# socket通訊的實現(同時監聽多客戶端)

本文位址:

MFC中利用CSocket實現UDP通訊

這兩天一直在找mfc下用csocket實現udp通訊,嘗試了網上不少的資料都沒有成功,可能是自己在什麼地方出錯了。最後參考順利實現了。自己也順便作一些總結,希望可以利人利己。基本介面如下 udp通訊時雙方地位是對等的,不用像tcp那樣要在伺服器端設定乙個監聽socket。第一步 呼叫create函式...

C socket通訊的簡單應用

有些產品和pc通訊是通過網線連線來通訊的,需要用到socket方式來傳送接收資料,下面簡單介紹下c 下socket的使用方法 包含標頭檔案 include winsock.h socket s server 宣告套接字 int socketinitialize char szipaddr,int i...

C Socket實現兩台電腦通訊(一)

1.ping 網路診斷工具 用於確定本地主機是否能與另一台主機成功交換 傳送與接收 資料報,再根據返回的資訊,就可以推斷tcp ip引數是否設定正確,以及執行是否正常 網路是否通暢等。2.ipconfig可用於顯示當前的tcp ip配置的設定值,通常是用來檢驗人工配置的tcp ip設定是否正確。3....