socket的bind函数是不是只能绑定本地IP,不能绑定外网IP么?

xqqiuzhi 2015-04-26 02:49:51

CString m_SiteInfo="xxx.xxx.xxx.xxx";//外网IP
addrSock.sin_addr.S_un.S_addr=inet_addr(m_SiteInfo.LockBuffer());
int retval;
retval=bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));
if(SOCKET_ERROR==retval)
{
closesocket(m_socket);
MessageBox("绑定失败!");
return FALSE;
}
运行时就出现“绑定失败”
如果把CString m_SiteInfo="xxx.xxx.xxx.xxx"里的IP改为本地IP是没有错误的。
我没有用路由器,用的联通宽带。我认为和联通的NET技术有关
...全文
1358 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 11 楼 xqqiuzhi 的回复:
引用 10 楼 cyz7758520 的回复:
[quote=引用 9 楼 xqqiuzhi 的回复:] [quote=引用 8 楼 cyz7758520 的回复:] [quote=引用 6 楼 xqqiuzhi 的回复:] [quote=引用 3 楼 pingshell 的回复:] 什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。[/quote]我没有控制别人的IP啊,我只是想绑定我的外网IP,这个外网IP是联通的路由器分配给我的,与我的内网IP所对应的[/quote] 我说的别人的电脑,就值指的这个联通的路由器,如果你想要绑定这个路由器上的端口,必须要让联通给你做端口映射才行,因为这个路由器是联通的,不是你的,你没有控制权,这么说你能懂吗?[/quote]
引用 10 楼 cyz7758520 的回复:
引用 9 楼 xqqiuzhi 的回复:
[quote=引用 8 楼 cyz7758520 的回复:] [quote=引用 6 楼 xqqiuzhi 的回复:] [quote=引用 3 楼 pingshell 的回复:] 什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。[/quote]我没有控制别人的IP啊,我只是想绑定我的外网IP,这个外网IP是联通的路由器分配给我的,与我的内网IP所对应的[/quote] 我说的别人的电脑,就值指的这个联通的路由器,如果你想要绑定这个路由器上的端口,必须要让联通给你做端口映射才行,因为这个路由器是联通的,不是你的,你没有控制权,这么说你能懂吗?[/quote]好吧,我也是这个意思,谢谢您的解答 那些远程控制软件是如何连接被控端的,如果被控端也是我这种情况?[/quote] 这个就是他们黑客一般有一个外网的服务器,然后这些被控端主动连接到这个服务器上,然后黑客等着这些电脑上线就行了。
xqqiuzhi 2015-04-27
  • 打赏
  • 举报
回复
引用 2 楼 xiaohuh421 的回复:
在这个条件if(SOCKET_ERROR==retval)中加入WSAGetLastError()查看是什么错误码, 然后你就能知道原因。 VS的工具中有查看错误码的工具。
错误值是WSAEADDRNOTAVAIL,对应的解释是 The specified address is not a valid address for this machine
xqqiuzhi 2015-04-27
  • 打赏
  • 举报
回复
引用 10 楼 cyz7758520 的回复:
引用 9 楼 xqqiuzhi 的回复:
[quote=引用 8 楼 cyz7758520 的回复:] [quote=引用 6 楼 xqqiuzhi 的回复:] [quote=引用 3 楼 pingshell 的回复:] 什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。[/quote]我没有控制别人的IP啊,我只是想绑定我的外网IP,这个外网IP是联通的路由器分配给我的,与我的内网IP所对应的[/quote] 我说的别人的电脑,就值指的这个联通的路由器,如果你想要绑定这个路由器上的端口,必须要让联通给你做端口映射才行,因为这个路由器是联通的,不是你的,你没有控制权,这么说你能懂吗?[/quote]
引用 10 楼 cyz7758520 的回复:
引用 9 楼 xqqiuzhi 的回复:
[quote=引用 8 楼 cyz7758520 的回复:] [quote=引用 6 楼 xqqiuzhi 的回复:] [quote=引用 3 楼 pingshell 的回复:] 什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。[/quote]我没有控制别人的IP啊,我只是想绑定我的外网IP,这个外网IP是联通的路由器分配给我的,与我的内网IP所对应的[/quote] 我说的别人的电脑,就值指的这个联通的路由器,如果你想要绑定这个路由器上的端口,必须要让联通给你做端口映射才行,因为这个路由器是联通的,不是你的,你没有控制权,这么说你能懂吗?[/quote]好吧,我也是这个意思,谢谢您的解答 那些远程控制软件是如何连接被控端的,如果被控端也是我这种情况?
  • 打赏
  • 举报
回复
引用 9 楼 xqqiuzhi 的回复:
引用 8 楼 cyz7758520 的回复:
[quote=引用 6 楼 xqqiuzhi 的回复:] [quote=引用 3 楼 pingshell 的回复:] 什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。[/quote]我没有控制别人的IP啊,我只是想绑定我的外网IP,这个外网IP是联通的路由器分配给我的,与我的内网IP所对应的[/quote] 我说的别人的电脑,就值指的这个联通的路由器,如果你想要绑定这个路由器上的端口,必须要让联通给你做端口映射才行,因为这个路由器是联通的,不是你的,你没有控制权,这么说你能懂吗?
pingshell 2015-04-27
  • 打赏
  • 举报
回复
什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
xqqiuzhi 2015-04-27
  • 打赏
  • 举报
回复
引用 8 楼 cyz7758520 的回复:
引用 6 楼 xqqiuzhi 的回复:
[quote=引用 3 楼 pingshell 的回复:] 什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。[/quote]我没有控制别人的IP啊,我只是想绑定我的外网IP,这个外网IP是联通的路由器分配给我的,与我的内网IP所对应的
xiaohuh421 2015-04-27
  • 打赏
  • 举报
回复
在这个条件if(SOCKET_ERROR==retval)中加入WSAGetLastError()查看是什么错误码, 然后你就能知道原因。 VS的工具中有查看错误码的工具。
「已注销」 2015-04-27
  • 打赏
  • 举报
回复
别瞎猜测。 所谓bind,就是指绑定本地接受端口。 指定ip,是为了分辨多ip主机。
  • 打赏
  • 举报
回复
引用 6 楼 xqqiuzhi 的回复:
引用 3 楼 pingshell 的回复:
什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
这个应该是不可以的,你的电脑只能控制你自己的电脑的IP,不能控制别人电脑的IP,试想一下,如果你可以控制别人的电脑的IP,那网络不就乱套了,除非别人给你开了端口映射,你可以百度下端口映射技术。
笨笨仔 2015-04-27
  • 打赏
  • 举报
回复
试试 使用网址 绑定试试,让DNS服务器为你解析广域网IP
xqqiuzhi 2015-04-27
  • 打赏
  • 举报
回复
引用 3 楼 pingshell 的回复:
什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
我用ipconfig命令查出来的是内网IP而我用百度查出来的是外网IP.按照常理这两个IP应该是一样的,但是我的电脑确实不一样。因为联通NET了
xqqiuzhi 2015-04-27
  • 打赏
  • 举报
回复
引用 1 楼 sinservice 的回复:
别瞎猜测。 所谓bind,就是指绑定本地接受端口。 指定ip,是为了分辨多ip主机。
bind和IP无关?
xqqiuzhi 2015-04-27
  • 打赏
  • 举报
回复
引用 3 楼 pingshell 的回复:
什么叫外网和内网?你说的是保留类的IP地址么,比如192.168.X.X ?绑定IP和这个没有关系的。
你可以搜一下NET技术

18,362

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧