您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> 端口映射后,内网连接不到映射后的端口,错误10054

端口映射后,内网连接不到映射后的端口,错误10054

来源:网络整理     时间:2016/8/5 1:11:01     关键词:

关于网友提出的“ 端口映射后,内网连接不到映射后的端口,错误10054”问题疑问,本网通过在网上对“ 端口映射后,内网连接不到映射后的端口,错误10054”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 端口映射后,内网连接不到映射后的端口,错误10054
描述:

自己写的一个网络程序,想测试一下外网,于是就映射了外网端口到本地的机器上,确认映射成功了,因为在单位的机器上我能连接上这个端口。但是回到家里,用家里的内网连接这个映射端口却出现了10054的错误,一直连接不上。而且我两台内网机器都连接不上这个端口。
详细网络结构如下:
外网的一个路由器,映射了10010端口,我在内网中的任意一个机器bind了其他端口(如:10020)去连接  【外网ip】【10010】,返回10054,连接被重置。。。
我的绑定代码如下:
m_udpsock = INVALID_SOCKET;
m_udpsock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if(m_udpsock == INVALID_SOCKET)
{
cout<<"udp socket create failed,UDPSocket::start"<<>
return 0;
}
      
        BOOL bReuseaddr=TRUE;
setsockopt(m_udpsock,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));
m_UDPRecv_Addr.sin_family = AF_INET;
//m_UDPRecv_Addr.sin_addr = *((struct in_addr *)hostinfo->h_addr); 
m_UDPRecv_Addr.sin_addr.s_addr = 0;
m_UDPRecv_Addr.sin_port = htons(port);
if(SOCKET_ERROR == bind(m_udpsock, (SOCKADDR *) &m_UDPRecv_Addr, sizeof(SOCKADDR)))
{
cout<<"udp bind error,UDPSocket::start"<<>
closesocket(m_udpsock);
return 0;
}
到底怎么回事?是不是内网的机器就连不上自己路由的映射端口,照理说不应该会这样的,希望大家给参谋下!谢谢


以上介绍了“ 端口映射后,内网连接不到映射后的端口,错误10054”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3113701.html

相关图片

相关文章