我现在在C#中使用套接字服务器,但我只能将它绑定到127.0.0.1。 但它必须绑定到我的VPS IP。即使我尝试绑定到我的hamachi IP,它也不起作用。
我用:
ServerSocketSettings Settings = new ServerSocketSettings
{
MaxConnections = Config.ServerMaxConnections,
NumOfSaeaForRec = Config.ServerMaxConnections,
Backlog = 30,
MaxSimultaneousAcceptOps = 15,
BufferSize = 512,
Endpoint = new IPEndPoint(IPAddress.Parse("25.168.77.190"), Config.ServerPort)
};
this._serverSocket = new ServerSocket(Settings);
然后我这样做:
this.ListenSocket = new Socket(this.Settings.Endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
this.ListenSocket.Bind(this.Settings.Endpoint);
this.ListenSocket.Listen(this.Settings.Backlog);
this.Settings是上面代码的值。 当我运行它时,我得到:
请求的地址在其上下文中无效
我想知道为什么它不起作用。
答案 0 :(得分:1)
如果要限制此网段的服务可用性,则应将侦听套接字仅绑定到特定接口。
如果不需要,您可以使用
将其绑定到任何IP地址this.ListenSocket.Bind(new IPEndPoint(IPAddress.Any));