我有点对点应用程序,在局域网中运行良好,但在互联网上,UdpReceiver无法正常工作。
我在post中修改了我的接收器 并尝试从同一台本地机器通过package sender utility发送包裹
我注意到接收器仅在我将包发送到本地IP 192.168.0.100时才有效。如果我尝试公开 - 接收器没有收到任何东西。 但实际上我想通过实用程序从远程机器接收包。
这是我的UDP测试项目代码:
class Program
{
static void Listener()
{
Console.WriteLine("OPened Listener");
var port = 13120;
var PortNumber = port;
Console.WriteLine("Listening to the port {0}", PortNumber);
var sock1 = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, PortNumber);
sock1.Bind(iep);
EndPoint ep = (EndPoint)iep;
byte[] data1 = new byte[100];
int recv = sock1.ReceiveFrom(data1, ref ep);
sock1.Close();
String str_Data = Encoding.ASCII.GetString(data1, 0, recv);
String str_IP = ep.ToString().Substring(0, ep.ToString().IndexOf(":"));
Console.WriteLine("Received Succesfully: {0} - {1}", str_Data, str_IP);
} // breakpoint
static void Main(string[] args)
{
Listener();
}
}
我已经禁用防火墙一段时间了,但它没有用。
也许我必须在我的网络中查看其他内容?找一些日志或什么?
更新:也许我的无线路由器有问题吗?