我已经编写了一个异步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);
}
....