-1

我用c#做了一个简单的聊天程序。它使用 tcp。我可以启动服务器,客户端可以连接和聊天,如果每个人都在同一个网络中。我现在想将服务器放在安装了 raspbian 的树莓派上。到目前为止效果很好,如果每个人都在同一个网络中,我可以再次连接,但现在我想通过互联网访问服务器,因为私人无法使用公共静态 IP 地址,我读到我可以使用ddns。我在 no-ip 上有一个主机名,并在树莓上安装了 noip2 并按照说明进行操作。在他们的网站上,您可以使用命令 sudo noip2 -S 对其进行测试。它表明它与我的帐户相关联,并将更新我的主机名。理论上一切都应该正常工作,但我无法连接到服务器,也无法连接到树莓派。你们中的任何人都知道我可以做些什么来使它工作还是完全错误的方式?

提前致谢!

4

2 回答 2

0

您可以将 dyndns 与 cname 一起使用。您需要在路由器上打开端口 80、443。这意味着网络中其他设备的风险。

除了在本地使用 rpi,您还可以在 AWS/Google 上以每月 3 美元左右的价格获得一个小型虚拟托管服务器。

于 2018-12-12T00:42:08.773 回答
0

简而言之,如果您没有公共 IP,则无法连接到您的 RPi。如果 IP 地址以 192.168、172.16 到 32 或 10 开头。那么按照惯例(或定义取决于您如何看待它),它是一个不可路由的地址,这意味着您无法通过 Internet 访问它。

DDNS 只是将名称转换为 IP 地址的一种方式,并不意味着公众可以访问。Noip 只是一种能够将名称与动态 IP 地址相关联的方式,这并不意味着公众可以访问任何内容。换句话说,如果 www.yourdomain.com 解析为 192.168.1.2(例如),无论谁可以解析该名称,他们仍然无法访问您的服务器。

如果您的路由器有一个公共 IP(您说它没有),那么您将能够进行 NAT 转换,但根据您所说的,这也是不可能的。

于 2018-12-11T21:07:46.817 回答