2011-04-04 157 views
1

如果我创建一个C++服务器/客户端应用程序,我用来通讯的端口是否需要在服务器和客户机与C++服务器/客户端应用程序的端口

或路由器还有什么其他方法可以在开放我拿?在客户端计算机需要从服务器接收信息,但我不能有任何端口打开,因为它是一所学校网络上....

[编辑]

嗯我的设置是一个PHP页面运行在服务器上,当我按下hello时,服务器通过php发出ssh连接并将shell命令发送给机器。服务器运行在学校服务器上,我有ssh访问权限,并从那里运行所有的东西。客户端计算机将是我的电脑跑掉学校的无线网络连接到服务器。服务器将尝试使用我的计算机的公共ip连接到学校的wifi(没有端口打开/可以SSH出,但没有SSH)。请问你提到的这些方法是否可行,特别是connect.c,因为我不能从服务器运行putty,并且我可以从php调用connect.c。

+0

重标问题;考虑转移到superuser.stackexchange.com – sehe 2011-04-04 21:22:57

+0

您应该提供更多信息。你的appication传输协议是TCP还是UDP? *“它在学校网络上”*:哪一台计算机在网络上,您无法打开任何端口?客户端?服务器?都?你期望来自互联网的连接,还是仅仅在学校网络内? – thkala 2011-04-04 21:31:53

回答

0

语言的选择在这里是非常不相关的。

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

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

当然,如果学校不允许在大多数端口,倒霉的出站(WAN)的流量,他们是绝对正确的:)

你可以看一下

一切都非常容易一派

+0

哦,不要忘记显而易见的:使用打开的端口。顺便说一下,如果您使用代理或NAT防火墙,则只能依靠出站连接,除非您可以在路由器上配置端口转发。 – sehe 2011-04-04 21:24:59

+0

我已向问题添加了更多内容,请查阅。 – user541597 2011-04-04 21:44:50

+0

我没有看到它 – sehe 2011-04-04 21:46:14

0

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

如果您的应用程序使用UDP(无连接协议),会发生什么情况严重取决于防火墙或路由器以及它是否为您的服务执行连接跟踪。

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

+0

服务器是一个专门的学校服务器学生使用的HTML,PHP,这样的事情。我可以通过ssh访问服务器。客户端将在学校的无线网络上,我没有SSH访问。服务器将是完成大部分工作的人员。所以服务器需要有ssh访问客户端的权限。我的想法可能是在客户端上创建一个脚本,并不断ssh进入服务器并检查是否有任何命令通过,如果收到的服务器说出hello按钮按下该命令,则查询会将任何命令返回给客户端并运行它。 – user541597 2011-04-04 21:52:18