UDP 外网端口访问的问题
开启其他程序的相同端口是可以访问的,不存在端口被屏蔽的问题。
// servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
servaddr.sin_port = htons(SERV_PORT);
改为INADDR_ANY ,外网无法访问。但是127.0.0.1,本机是可以访问的,排除程序处理问题。
请linux 大侠们帮看一下,坐等回复。
------解决方案--------------------
楼主
1)你测的时候抓抓包,看看,有没有ICMP信息(对应于你访问的端口)
2)你用了netstat -a -d udp检测PC机上的进程的网络端口是否打开了吗?
3)你用回环地址有什么用?回环地址只是用来测你的网卡是否正常工作的,没用。
4)你的外网是指什么?局域网中的“外网”,还是internet中的外网
5)INADDR_ANY指定了你的程序绑定于所有的地址,所以无论通过你PC的那个地址来访问都可以
6)你的外网经过路由器转发数据包了没有?如果有,访问不到太正常
7)你的外网地址是什么?不是”192.168xxx“吧
就这么多