Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将连接重新定向到C中指定的本地端口的服务器应用程序_C_Windows_Port_Winsock_Forwarding - Fatal编程技术网

将连接重新定向到C中指定的本地端口的服务器应用程序

将连接重新定向到C中指定的本地端口的服务器应用程序,c,windows,port,winsock,forwarding,C,Windows,Port,Winsock,Forwarding,我正在用C语言创建一个有趣的服务器应用程序(请不要上课,因为我还不懂它们)。此应用程序的目的是侦听指定端口,比如8118 当连接到服务器时,将有一个登录名,在此登录名中,我希望将连接转发到管理控制台。管理控制台端口将在本地侦听,这意味着它不会在路由器上被端口转发。让我们将此端口定义为5115 看起来是这样的 客户端->服务器:8118->服务器重定向到本地5115 这样做的目的是,我最终将根据命令站登录名转发到多个本地端口 有没有一种有效的方法?还有什么问题我可能会遇到,我应该注意吗 提前感谢。

我正在用C语言创建一个有趣的服务器应用程序(请不要上课,因为我还不懂它们)。此应用程序的目的是侦听指定端口,比如8118 当连接到服务器时,将有一个登录名,在此登录名中,我希望将连接转发到管理控制台。管理控制台端口将在本地侦听,这意味着它不会在路由器上被端口转发。让我们将此端口定义为5115

看起来是这样的

客户端->服务器:8118->服务器重定向到本地5115

这样做的目的是,我最终将根据命令站登录名转发到多个本地端口

有没有一种有效的方法?还有什么问题我可能会遇到,我应该注意吗


提前感谢。

不确定您的设置,但基本上有两种选择:

将消息反弹回客户端,告诉它“去检查端口5115”。这是否有效取决于客户;如果客户端是web浏览器,http重定向将起作用

打开到端口5115的内部连接,然后您的程序将在客户端(仍然连接到端口8118)和端口5115之间传输数据


还有,你为什么要这么做?如果您只是想避免阻塞端口8118,只需在侦听端口上设置SO_REUSEADDR。

您的第二个建议正是我想做的,我只是不知道如何通过编程实现这一点。我只想将8118上的流量转发到本地5115端口,然后从5115返回8118,然后返回到客户端。您的第一个建议不起作用,因为端口5115将被过滤,因此将其反弹回客户端不是一个选项。为什么我要这么做。。。。我正在尝试学习如何创建自己的端口转发器,并最终拦截远程桌面等协议。