0

我是套接字的新手,我的问题是:

假设我有一台家用电脑,而我的朋友也有一台家用电脑。(我通过 gprs/edge 调制解调器连接到网络;我的朋友通过有线连接 - 我不确定这是否重要)。

whatismyip.com例如,我可以在页面上检查我的 ip ;他也可以为他的。

如果我编写了一些简单的套接字(WinSock)代码并将这些 ip 放入这样的代码中,是否足以在我们的机器之间进行一些网络通信,它是否可以工作?

在 WinSock 示例代码中将此类 ip 放在哪里?

编辑:一些解释

我正在使用 c/winapi 我已经在我自己的机器上本地编译和测试了一些示例,它似乎可以工作,但我不确定如果我将提供两个 IP(从 whatismyip.com 获取)它是否可以在两台远程计算机上工作页)。

它肯定会起作用,也可能不会?我只需要在某些套接字地址字段中提供这些 IP,还是需要做更多?

编辑2:

我需要在两台家用电脑之间做一些简单的winapi游戏(通过winsock通过互联网连接)我可以关闭防火墙,它不起作用吗?如何让它发挥作用?

4

3 回答 3

2

你有几个选择。一种是设置静态端口转发——即,配置您的路由器,使端口 X 转到内部 IP 地址 abcd 这通常需要您使用静态 IP 地址设置您的计算机。

大多数人通常更愿意避免这种情况——这是可能的,但不一定是微不足道的。一些可用的工具/协议是STUNTURNICEUPnP虽然您可以直接使用 UPnP,但您可能会发现通过libupnp 之类的库处理起来会更容易一些。

于 2012-05-31T22:25:20.103 回答
2

您需要阅读大多数家庭路由器所做的网络地址转换。然后将端口转发规则添加到您的路由器/调制解调器防火墙。

于 2012-05-31T21:05:54.963 回答
0

首先,您需要决定要使用哪种协议。
TCP还是UDP?
如果您想要 TCP/IP 通信,您需要一台计算机作为服务器(监听),一台计算机作为客户端。

你是用 C++ 编程的吗?这是服务器端代码
的示例:

于 2012-05-31T20:54:13.573 回答