问题:创建多个TCP-Server对象

时间:2019-07-16 12:08:33

标签: .net sockets tcp

我已经编写了一个异步TCP-Server类。现在,我尝试创建在不同端口上侦听的几个TCP -Server对象。第一个服务器实例运行良好,但是如果我尝试创建下一个实例,则IPEndpoint的Bind会引发“无效参数”异常。

我是套接字编程领域的新手。也许我选择了错误的方法。我的目的是提供一个侦听不同端口并在这些端口上提供不同服务的TCP服务器或服务器实例。

欢迎任何帮助。

public class TCPServer
{
    static readonly Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    static readonly List<Socket> clientSockets = new List<Socket>();
    private const int bufferSize = 65000;
    static readonly byte[] buffer = new byte[bufferSize];

    ConsoleHelper ch = new ConsoleHelper();

    public void SetupServer(int port)
    {
        IPEndPoint ep = new IPEndPoint(IPAddress.Any, port);
        socket.Bind(ep);
        socket.Listen(0);
        socket.BeginAccept(AcceptCallback, null);
    }
....

0 个答案:

没有答案