1

在家里,我有调制解调器、路由器、台式机和笔记本电脑。

我的调制解调器连接到我的路由器。桌面通过电线连接到我的路由器。笔记本电脑无线连接到家庭网络/路由器。

当我访问这个网站时:http ://whatismyipaddress.com/ ,我的台式机和笔记本电脑的 IP 地址是相同的。如何确定唯一 IP?

我问的原因是因为我有兴趣开发一个旨在通过 Internet 工作的简单 C++ 服务器-客户端聊天应用程序。在写这篇文章时,我相信客户端的代码需要有关于服务器的信息(IP 地址和端口号)。我想在桌面机器上运行服务器,并让任何运行客户端代码的机器能够连接到它。

谢谢你的帮助。另外,如果您有兴趣,我正在按照此 c++ 聊天应用程序教程执行此操作:http ://www.youtube.com/watch?v=-Rk8LPtVpY0

4

4 回答 4

6

这是因为 whatismyipaddress.com 只是获取您的外部地址。您的路由器隐藏了您的内部地址。如果你想得到你的内部IP地址,你必须在你的计算机上查找IP地址(如果是windows去网络和共享中心,点击“本地连接”,然后是详细信息)。

如果您想让您的桌面可用于网络(如您所说的“服务器”),您将不得不将路由器上的端口转发到桌面。

于 2012-09-29T20:44:56.507 回答
2

该网站正在报告调制解调器的 IP 地址。这是互联网上其他人认为您的地址。与您从路由器获得的 192.168.xx 地址相反,该地址仅对您的内部网络(连接到路由器的任何设备)有用。

要确定您的唯一 IP 地址,您可以做两件事:

登录路由器并查找状态选项卡,此选项卡通常会报告所有连接的设备。

或者更简单,如果您在 Windows 上运行“cmd”并输入“ipconfig /all”。

于 2012-09-29T20:50:15.677 回答
2

由于我们没有足够的 IP4 IP 来让网络上的每台设备都有一个唯一的 IP,所以有一种叫做伪装的东西。这允许路由器在一个“真实”IP 地址下屏蔽本地网络的传出流量。当您的路由器连接到互联网时,该地址会提供给您。

通常,您的本地网络位于为本地网络保留的地址范围内,例如192.168.*.*

这当然会使两台机器之间的直接联网变得有点棘手。您的路由器基本上知道哪些本地机器是连接的来源,因此它可以将响应引导回正确的机器。

如果您需要对双方完全透明的连接,则必须创建到本地计算机的端口转发 - 以便它对 Internet 可见。

一些网站可以向您显示您的外部 IP,但最简单的方法是登录路由器并在那里查看。

于 2012-09-29T20:51:59.717 回答
1

从家庭网络外部看到的每台设备的 IP 地址都是相同的。这是路由器的工作之一(抽象出哪个特定设备负责哪个数据包),这个概念有助于使互联网具有可扩展性。

在 wikipedia 上阅读有关子网的更多信息。

在编写应用程序之前学习网络基础知识也是一个好主意。查看

于 2012-09-29T20:53:45.730 回答