📜  c# socket 监听端口 - C# (1)

📅  最后修改于: 2023-12-03 15:13:49.620000             🧑  作者: Mango

C# Socket 监听端口 - C#

前言

在编程中,Socket 是一种应用程序编程接口(API),它提供用于网络通信的方法。使用 Socket,我们可以在计算机网络中建立基于 TCP 或 UDP 的连接,进行数据传输。在 C# 中,我们可以使用 Socket 类来实现网络通信。

本文将介绍如何在 C# 中通过使用 Socket 监听端口,实现服务端和客户端之间的通信。

监听端口

以下是使用 C# 中的 Socket 类来监听端口的基本示例代码:

using System;
using System.Net;
using System.Net.Sockets;

class Program
{
    static void Main()
    {
        // 创建一个新的 Socket
        Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        // 设置监听的 IP 地址和端口号
        IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
        int port = 8888;
        IPEndPoint endpoint = new IPEndPoint(ipAddress, port);

        // 绑定 Socket 到 IP 地址和端口号
        listener.Bind(endpoint);

        // 开始监听
        listener.Listen(10);

        Console.WriteLine("等待客户端连接...");

        // 接受客户端连接
        Socket clientSocket = listener.Accept();

        Console.WriteLine("客户端已连接!");

        // 处理客户端请求
        // TODO: 在此处实现自己的逻辑

        // 关闭连接
        clientSocket.Shutdown(SocketShutdown.Both);
        clientSocket.Close();
    }
}

上述代码中,我们首先创建一个 Socket 对象,并利用 Bind 方法将其绑定到指定的 IP 地址和端口号。然后,调用 Listen 方法开始监听指定的端口。最后,使用 Accept 方法等待并接受客户端的连接。

注意事项
  • 监听端口需要在防火墙上打开相应端口,以允许外部连接。
  • 在网络编程中,监听端口可能会面临安全风险,请务必进行有效的安全措施,例如输入验证和身份验证。

希望本文对你在 C# 中使用 Socket 监听端口有所帮助。如有疑问,请随时提问。