Mfc 使我的TCP服务器面向Internet-我应该从哪里开始?

Mfc 使我的TCP服务器面向Internet-我应该从哪里开始?,mfc,tcp,client-server,Mfc,Tcp,Client Server,我已经编写了一个客户机/服务器代码。 服务器程序在一个终端上执行,该终端直接从客户端接收文本数据,客户端是一个GUI,您可以在其中指定服务器将运行的机器的IP地址 然而,这只适用于封闭网络(LAN)。 我刚刚学习了TCP IP,并编写了一些在局域网上运行的代码。 我想让这个程序在网络上运行(通过互联网)。 但我有一些基本的疑问,比如,在互联网上执行这些程序是否需要当地ISP的许可。这是否涉及购买域名或某种许可? 有人能帮我吗?我应该做什么,或者从哪里开始?如果您的服务器位于创建LAN的路由器后面

我已经编写了一个客户机/服务器代码。 服务器程序在一个终端上执行,该终端直接从客户端接收文本数据,客户端是一个GUI,您可以在其中指定服务器将运行的机器的IP地址

然而,这只适用于封闭网络(LAN)。 我刚刚学习了TCP IP,并编写了一些在局域网上运行的代码。 我想让这个程序在网络上运行(通过互联网)。 但我有一些基本的疑问,比如,在互联网上执行这些程序是否需要当地ISP的许可。这是否涉及购买域名或某种许可?
有人能帮我吗?我应该做什么,或者从哪里开始?

如果您的服务器位于创建LAN的路由器后面,您必须配置路由器,使其将包从客户端转发到服务器。
您必须将特定端口上的所有传入包转发到服务器的本地ip。

侦听器必须以某种方式打开ip端口。若你们在路由器后面,你们应该在路由器上设置正确的端口转发,若ISP提供自己的子网,你们应该知道如何设置这样的链接。(我不知道ISP会使用什么样的技术来实现这一点)


一开始你们不需要你们自己的域名,但你们应该能够通过ip地址。如果您需要域名,请注册自己的域名或免费创建子域(我正在使用)

如果它在Internet上运行,您是否尝试过?如果没有,为什么?我认为你根本不需要任何许可。所有浏览器、FTP客户端、服务器等都可以在Internet上工作。为什么你认为你需要许可?我应该粘贴源代码以更清楚吗?我试过了,但它没有连接。很有可能这只是因为我可能做错了什么。但它在封闭的网络中运行良好。我想可能是因为我们直接与另一台机器对话,我的程序可能会被一些内部防火墙阻止。对不起,我所说的可能都错了。我是新手不,很清楚。内部防火墙不会阻止您,因为您可以在LAN中连接。所以,您只需在路由器上设置端口转发。我该如何做?这可以通过编程实现吗?我不太擅长配置路由器。过程类似,但实际上取决于您的路由器型号。通常有一个“配置”或“设置”页面(来自大多数路由器的web界面),您可以在其中配置到服务器程序的“端口转发”。然后,客户端必须连接到您的公共IP(路由器的外部IP),或者您可以使用一些动态服务(如:)