为什么仅当工作服务器在主机域上运行时,我才会在工作服务器上获得异常?]

问题描述 投票:0回答:1
我有一个客户端/服务器程序,可以在许多私人计算机上很好地运行。但是,一旦我将服务器安装在Amazon Lightsail的主机域Windows Server 2016上,就会出现异常。

我正在使用UDP套接字并尝试与我拥有的静态IP绑定,但是却遇到此异常:

System.Net.Sockets.SocketException (0x80004005): The requested address is not valid in its context at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at AP_Server_Side.Program.Main(String[] args)

我尝试了许多不同的端口以及零端口。

我的代码:

Socket _reciveSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPAddress _localAddress = IPAddress.Parse("52.56.192.252"); IPEndPoint _localip = new IPEndPoint(_localAddress, 0); Console.WriteLine("local Address : " + _localip.ToString()); IPEndPoint _newend = new IPEndPoint(IPAddress.Any, 0); EndPoint _escoler = (EndPoint)_newend; byte[] _bufferrecived = new byte[1024]; byte[] _sendBuffer = new byte[1024]; int _recivefrom; string _msgRecived = string.Empty; int _userint = 1; try { _reciveSocket.Bind(_localip);

我怀疑问题出在代码中,因为正如我所说的那样,服务器已经过测试,并且可以在多台机器上良好运行。

我猜测它与Windows或服务器设置有关,我关闭了防火墙并尝试入站所有UDP参考。

我有一个客户端/服务器程序,可以在许多私人计算机上很好地运行。但是,一旦将服务器安装在Amazon Lightsail的主机域Windows Server 2016上,就会出现异常。我正在使用...

c# amazon-web-services networking network-programming server-side
1个回答
0
投票
听起来也与您所部署的环境有关。从它的声音来看,lightail旨在用于仅监听HTTP流量(TCP)的应用程序的简单部署。我最好的猜测是52.56.192.252地址。 Any或localhost 127.0.0.1可能会更好地工作。不幸的是,您不能绑定到故意的地址,这取决于您的网络接口的IP范围。
© www.soinside.com 2019 - 2024. All rights reserved.