新聞中心
C#服務(wù)端與客戶端連接實現(xiàn)的由來:那么既然一個服務(wù)器端口可以應(yīng)對多個客戶端連接,那么接下來我們就看一下,如何讓多個客戶端與服務(wù)端連接。如同我們上面所說的,一個TcpClient就是一個Socket,所以我們只要創(chuàng)建多個TcpClient,然后再調(diào)用Connect()方法就可以了:

湖北ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
C#服務(wù)端與客戶端連接實現(xiàn)實例:
- class Client {
- static void Main(string[] args) {
- Console.WriteLine("Client Running ...");
- TcpClient client;
- //C#服務(wù)端與客戶端連接實現(xiàn)
- for (int i = 0; i <= 2; i++) {
- try {
- client = new TcpClient();
- client.Connect("localhost", 8500); // 與服務(wù)器連接
- } catch (Exception ex) {
- Console.WriteLine(ex.Message);
- return;
- }
- //C#服務(wù)端與客戶端連接實現(xiàn)
- // 打印連接到的服務(wù)端信息
- Console.WriteLine("Server Connected!{0} --> {1}",
- client.Client.LocalEndPoint, client.Client.RemoteEndPoint);
- }
- // 按Q退出
- }//C#服務(wù)端與客戶端連接實現(xiàn)
- }
上面代碼最重要的就是client = new TcpClient()這句,如果你將這個聲明放到循環(huán)外面,再循環(huán)的第二趟就會發(fā)生異常,原因很顯然:一個TcpClient對象對應(yīng)一個Socket,一個Socket對應(yīng)著一個端口,如果不使用new操作符重新創(chuàng)建對象,那么就相當(dāng)于使用一個已經(jīng)與服務(wù)端建立了連接的端口再次與遠(yuǎn)程建立連接。
此時,如果在“命令提示符”運(yùn)行“netstat -a”,則會看到類似下面的C#服務(wù)端與客戶端連接實現(xiàn)實例的輸出:
- TCPjimmy:8500 0.0.0.0:0 LISTENING
- TCPjimmy:8500 localhost:10282 ESTABLISHED
- TCPjimmy:8500 localhost:10283 ESTABLISHED
- TCPjimmy:8500 localhost:10284 ESTABLISHED
- TCPjimmy:10282localhost:8500 ESTABLISHED
- TCPjimmy:10283localhost:8500 ESTABLISHED
- TCPjimmy:10284localhost:8500 ESTABLISHED
可以看到創(chuàng)建了三個連接對,并且8500端口持續(xù)保持偵聽狀態(tài),從這里以及上面我們可以推斷出TcpListener的Start()方法是一個異步方法。
C#服務(wù)端與客戶端連接實現(xiàn)的情況就向你介紹到這里,希望對你了解和學(xué)習(xí)C#服務(wù)端與客戶端連接實現(xiàn)有所幫助。
【編輯推薦】
- C#異步傳輸字符串客戶端的實現(xiàn)
- C#網(wǎng)絡(luò)編程基本概念TCP淺析
- C#網(wǎng)絡(luò)聊天程序三大模式淺析
- C#服務(wù)端端口偵聽淺析
- C#服務(wù)端與客戶端連接實現(xiàn)淺析
分享文章:C#服務(wù)端與客戶端連接實現(xiàn)淺談
網(wǎng)頁網(wǎng)址:http://www.dlmjj.cn/article/djeidei.html


咨詢
建站咨詢
