最近做项目需要用到client端与服务器端Socket通讯,使用了TCP socket,在局域网测试好好的, 但是把服务器socket放到外网固定IP 就发现连接不上了。
在网上搜索这个问题, 基本都是在提问,没有人解决。。。还有很多狗屁答案, 说什么NAT地址映射这东西。
其实原因是服务器上端口被屏蔽了。废话不多说,贴答案了:
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
查看端口是否已经开放
/etc/init.d/iptables status
答案出处:http://blog.csdn.net/hzw2312/article/details/50247511