您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#中怎么實現服務端與客戶端連接,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
C#服務端與客戶端連接實現實例:
class Client { static void Main(string[] args) { Console.WriteLine("Client Running ..."); TcpClient client; //C#服務端與客戶端連接實現 for (int i = 0; i <= 2; i++) { try { client = new TcpClient(); client.Connect("localhost", 8500); // 與服務器連接 } catch (Exception ex) { Console.WriteLine(ex.Message); return; } //C#服務端與客戶端連接實現 // 打印連接到的服務端信息 Console.WriteLine("Server Connected!{0} --> {1}", client.Client.LocalEndPoint, client.Client.RemoteEndPoint); } // 按Q退出 }//C#服務端與客戶端連接實現 }
上面代碼最重要的就是client = new TcpClient()這句,如果你將這個聲明放到循環外面,再循環的第二趟就會發生異常,原因很顯然:一個TcpClient對象對應一個Socket,一個Socket對應著一個端口,如果不使用new操作符重新創建對象,那么就相當于使用一個已經與服務端建立了連接的端口再次與遠程建立連接。
此時,如果在“命令提示符”運行“netstat -a”,則會看到類似下面的C#服務端與客戶端連接實現實例的輸出:
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
可以看到創建了三個連接對,并且8500端口持續保持偵聽狀態,從這里以及上面我們可以推斷出TcpListener的Start()方法是一個異步方法。
關于C#中怎么實現服務端與客戶端連接就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。