具有C ++服务器/客户端应用程序的端口

时间:2011-04-04 21:16:54

标签: client-server firewall tunnel transport

如果我创建一个c ++服务器/客户端应用程序,我用来通信的端口是否需要在服务器和客户机的路由器上打开

或者我可以选择其他方法?客户端计算机需要从服务器接收信息,但我无法打开任何端口,因为它位于学校网络上....

[edit]

嗯我的设置是在服务器上运行的php页面说当我按下hello时,服务器通过php进行ssh连接并将shell命令发送到机器。服务器正在运行学校服务器,我有ssh访问权限并从那里运行我的所有东西。客户端计算机将是我的电脑运行的学校wifi没有连接到服务器。服务器将尝试与我的计算机的公共IP进行ssh连接运行学校wifi(没有端口打开/可以ssh但没有ssh)。你提到的这些方法是否可行,特别是connect.c,因为我无法从服务器运行putty,而connect.c我可以从php调用。

2 个答案:

答案 0 :(得分:0)

语言的选择在这里非常无关紧要。

在任何路由器上都不需要打开端口,除非您的流量必须通过它。在同一网络(或子网)中的普通对等主机上,几乎没有任何防火墙策略,即使在学校也是如此。

从技术上讲,交换机可能会阻塞对等2对等流量(意味着流量不是指向传出网关),但这种情况并不常见。

当然,如果学校不允许大多数港口的出站(WAN)流量,运气不好,他们绝对正确:)

你可以看看

所有人都很容易用Google搜索

答案 1 :(得分:0)

要建立TCP / IP连接,客户端只能访问服务器端口。连接是全双工的,因此数据可以从客户端流向服务器,反之亦然。

如果您正在为您的应用程序使用UDP(这是一种无连接协议),那么所发生的情况很大程度上取决于防火墙或路由器以及它是否为您的服务执行连接跟踪。

除非您在客户端和服务器端提供有关服务和网络设置的一些其他信息,否则我们无法提供更具体的信息。