国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現服務端對端口進行偵聽

2023-05-12 12:29:39
字體:
來源:轉載
供稿:網友

本文使用C#實現了服務器端對端口的偵聽功能。第一步就是開啟對本地機器上某一端口的偵聽。首先創建一個控制臺應用程序,將項目名稱命名為ServerConsole,它代表我們的服務端。如果想要與外界進行通信,第一件要做的事情就是開啟對端口的偵聽,這就像為計算機打開了一個“門”,所有向這個“門”發送的請求(“敲門”)都會被系統接收到。在C#中可以通過下面幾個步驟完成,首先使用本機Ip地址和端口號創建一個System.Net.Sockets.TcpListener類型的實例,然后在該實例上調用Start()方法,從而開啟對指定端口的偵聽。

using System.Net;               // 引入這兩個命名空間,以下同
using System.Net.Sockets;
using ... // 略

class Server {
    static void Main(string[] args) {
        Console.WriteLine("Server is running ... ");
        IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
        TcpListener listener = new TcpListener(ip, 8500);

        listener.Start();           // 開始偵聽
        Console.WriteLine("Start Listening ...");

        Console.WriteLine("/n/n輸入/"Q/"鍵退出。");
        ConsoleKey key;
        do {
            key = Console.ReadKey(true).Key;
        } while (key != ConsoleKey.Q);
    }
}

// 獲得IPAddress對象的另外幾種常用方法:
IPAddress ip = IPAddress.Parse("127.0.0.1");
IPAddress ip = Dns.GetHostEntry("localhost").AddressList[0]; 

上面的代碼中,我們開啟了對8500端口的偵聽。在運行了上面的程序之后,然后打開“ming令提示符”,輸入“netstat-a”,可以看到計算機器中所有打開的端口的狀態。可以從中找到8500端口,看到它的狀態是LISTENING,這說明它已經開始了偵聽:

  TCP    jimmy:1030             0.0.0.0:0              LISTENING
          TCP    jimmy:3603             0.0.0.0:0              LISTENING
          TCP    jimmy:8500             0.0.0.0:0              LISTENING
          TCP    jimmy:netbios-ssn     0.0.0.0:0              LISTENING

 在打開了對端口的偵聽以后,服務端必須通過某種方式進行阻塞(比如Console.ReadKey()),使得程序不能夠因為運行結束而退出。否則就無法使用“netstat -a”看到端口的連接狀態,因為程序已經退出,連接會自然中斷,再運行“netstat -a”當然就不會顯示端口了。所以程序最后按“Q”退出那段代碼是必要的,下面的每段程序都會含有這個代碼段,但為了節省空間,我都省略掉了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 侯马市| 土默特左旗| 苗栗县| 德庆县| 克拉玛依市| 卫辉市| 邳州市| 儋州市| 韶关市| 安龙县| 肃宁县| 木兰县| 台安县| 瑞丽市| 兴安县| 松原市| 青阳县| 大余县| 股票| 巴南区| 迁西县| 彰化县| 鄂伦春自治旗| 龙江县| 木兰县| 米易县| 榕江县| 察雅县| 德格县| 双牌县| 东台市| 交城县| 沂源县| 阳朔县| 时尚| 木兰县| 名山县| 文山县| 乳源| 东方市| 揭东县|