欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何實現(xiàn)C#服務端與客戶端連接

今天就跟大家聊聊有關如何實現(xiàn)C#服務端與客戶端連接,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務柳江,十多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

C#服務端與客戶端連接實現(xiàn)的時間性:當服務器開始對端口偵聽之后,便可以創(chuàng)建客戶端與它建立連接。這一步是通過在客戶端創(chuàng)建一個TcpClient的類型實例完成。每創(chuàng)建一個新的TcpClient便相當于創(chuàng)建了一個新的套接字Socket去與服務端通信,.Net會自動為這個套接字分配一個端口號,上面說過,TcpClient類不過是對Socket進行了一個包裝。創(chuàng)建TcpClient類型實例時,可以在構造函數(shù)中指定遠程服務器的地址和端口號。這樣在創(chuàng)建的同時,就會向遠程服務端發(fā)送一個連接請求(“握手”),一旦成功,則兩者間的連接就建立起來了。也可以使用重載的無參數(shù)構造函數(shù)創(chuàng)建對象,然后再調(diào)用Connect()方法,在Connect()方法中傳入遠程服務器地址和端口號,來與服務器建立連接。

這里需要注意的是,不管是使用有參數(shù)的構造函數(shù)與服務器連接,或者是通過Connect()方法與服務器建立連接,都是同步方法(或者說是阻塞的,英文叫block)。它的意思是說,客戶端在與服務端連接成功、從而方法返回,或者是服務端不存、從而拋出異常之前,是無法繼續(xù)進行后繼操作的。這里還有一個名為BeginConnect()的方法,用于實施異步的連接,這樣程序不會被阻塞,可以立即執(zhí)行后面的操作,這是因為可能由于網(wǎng)絡擁塞等問題,連接需要較長時間才能完成。網(wǎng)絡編程中有非常多的異步操作,凡事都是由簡入難,關于異步操作,我們后面再討論,現(xiàn)在只看同步操作。

創(chuàng)建一個新的控制臺應用程序項目,命名為ClientConsole,它是我們的客戶端,然后添加下面的代碼,創(chuàng)建與服務器的連接:

C#服務端與客戶端連接實現(xiàn)實例:

class Client {  static void Main(string[] args) {   Console.WriteLine("Client Running ...");  TcpClient client = new TcpClient();  try {  client.Connect("localhost", 8500);  // 與服務器連接  } catch (Exception ex) {  Console.WriteLine(ex.Message);  return;  }  // 打印連接到的服務端信息  Console.WriteLine("Server Connected!{0} --> {1}",  client.Client.LocalEndPoint, client.Client.RemoteEndPoint);   // 按Q退出  }  }//C#服務端與客戶端連接實現(xiàn)

上面帶代碼中,我們通過調(diào)用Connect()方法來與服務端連接。隨后,我們打印了這個連接消息:本機的Ip地址和端口號,以及連接到的遠程Ip地址和端口號。TcpClient的Client屬性返回了一個Socket對象,它的LocalEndPoint和RemoteEndPoint屬性分別包含了本地和遠程的地址信息。先運行服務端,再運行這段代碼??梢钥吹絻蛇叺妮敵銮闆r如下:

// 服務端:  Server is running ...  Start Listening ...   // 客戶端:  Client Running ...  Server Connected!127.0.0.1:4761 --> 127.0.0.1:8500

我們看到客戶端使用的端口號為4761,上面已經(jīng)說過,這個端口號是由.NET隨機選取的,并不需要我們來設置,并且每次運行時,這個端口號都不同。再次打開“命令提示符”,輸入“netstat -a”,可以看到下面的C#服務端與客戶端連接實現(xiàn)實例輸出:

TCPjimmy:8500 0.0.0.0:0      LISTENING  TCPjimmy:8500 localhost:4761 ESTABLISHED  TCPjimmy:4761 localhost:8500 ESTABLISHED

從這里我們可以得出幾個重要信息:1、端口8500和端口4761建立了連接,這個4761端口便是客戶端用來與服務端進行通信的端口;2、8500端口在與客戶端建立起一個連接后,仍然繼續(xù)保持在監(jiān)聽狀態(tài)。這也就是說一個端口可以與多個遠程端口建立通信,這是顯然的,大家眾所周之的HTTP使用的默認端口為80,但是一個Web服務器要通過這個端口與多少個瀏覽器通信啊。

看完上述內(nèi)容,你們對如何實現(xiàn)C#服務端與客戶端連接有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站標題:如何實現(xiàn)C#服務端與客戶端連接
文章鏈接:http://aaarwkj.com/article6/iggiig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、網(wǎng)站制作、域名注冊、云服務器、微信公眾號、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
精品熟女少妇av免费观看| 人成在线免费视频网站| 亚洲一二三无人区是什么| 国产日韩欧美另类专区| 亚洲精品一区久久狠狠欧美| 日韩精品一区二区三区四区蜜桃 | 久久久久亚洲av成人| 日韩中文免费av一区| 日本视频一曲二曲三曲四曲| 欧美精品亚洲二区中文乱码| 久久精品国产亚洲av久一一区| 欧美aⅴ一区二区三区| 激情啪啪啪的免费网站| 色哟哟网站在线观看入口| 在线成人影院中文字幕| 久久免费看少妇高潮av| 日本高清免费黄色录像| 黄片视频免费观看一起草| 变态另类日韩欧美高清| 青青草青青草在线观看视频| 亚洲天堂男人的天堂狠狠操| 亚洲欧美不卡一区二区| 亚洲视频精品一区二区三区| 美女丝袜诱惑国产91| 国产精品网站在线观看| 亚洲精品网站国产高清| 91国产网址在线观看| 亚洲成人午夜激情的三级网| 国产乱国产乱老熟部视频| 内射久久一区二区亚洲| 国产精品传媒在线观看网站| 国产欧美日韩精品av| 欧美老熟妇子乱视频在线| 精品国产一区二区三级四区| 在线观看国产自拍精品| 日韩精品一区二区三区都在看| 日本一区二区三区久久久| 午夜夫妻生活视频在线观看| 最新日韩一区二区在线| 欧美日韩国产av一区| 亚洲男人成人性天堂网站|