📜  c# 套接字绑定到 localhost - C# (1)

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

C# 套接字绑定到 localhost

在 C# 中,套接字是一个强大的工具,它可以帮助程序员通过网络连接一台计算机和另一台计算机。localhost是一个本机主机名,它可以帮助我们连接本地计算机。

绑定套接字到 localhost

要绑定套接字到 localhost,我们需要使用 IPAddress 绑定 127.0.0.1。下面是一个简单的代码示例:

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

namespace SocketExample
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
                IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 8888);

                // 创建套接字对象
                Socket listener = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

                // 绑定套接字到本地端口
                listener.Bind(localEndPoint);

                Console.WriteLine("套接字绑定到:{0}", listener.LocalEndPoint.ToString());
                
                // 等待连接
                listener.Listen(10);

                while (true)
                {
                    Console.WriteLine("等待客户端连接...");
                    
                    // 接受一个连接,创建一个新的socket对象
                    Socket handler = listener.Accept();
                    
                    // 处理连接
                    byte[] bytes = new byte[1024];
                    int bytesRec = handler.Receive(bytes);
                    string data = Encoding.ASCII.GetString(bytes, 0, bytesRec);
                    Console.WriteLine("接收到数据:{0}", data);
                    byte[] msg = Encoding.ASCII.GetBytes("欢迎你,客户端!");
                    handler.Send(msg);
                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            Console.WriteLine("按任意键退出程序...");
            Console.ReadKey();
        }
    }
}

在上面的示例中,我们创建了一个套接字对象,并将其绑定到本地端口 8888。然后我们开始监听连接,并等待客户端连接。当客户端连接成功后,我们读取数据并给它发送一个欢迎消息。

总结

这就是如何在 C# 中将套接字绑定到 localhost 的简单介绍。这只是一个简单的示例,你可以根据自己的需要进行修改和扩展。愿你在编写网络应用时顺顺利利!