Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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
Sockets 如何绕过插座?_Sockets - Fatal编程技术网

Sockets 如何绕过插座?

Sockets 如何绕过插座?,sockets,Sockets,我已经安装了一个在端口81上运行的流式服务器“Lighttpd”(Lighttpd) 我有一个C程序,它使用套接字api创建的服务器套接字侦听端口80上的http请求 我希望,当我在端口80上收到来自客户端的请求时,我将该请求转发到流媒体服务器,剩下的对话将与流媒体服务器和客户端进行&它们完全绕过我的C程序 问题是,客户机希望MSG来自端口80的套接字(即来自我的C程序的套接字),因为它只向端口80发送请求,而不是从在端口81上提供服务的流式服务器发送请求。 在绕过端口80上的套接字以回复客户端

我已经安装了一个在端口81上运行的流式服务器“Lighttpd”(Lighttpd)

我有一个C程序,它使用套接字api创建的服务器套接字侦听端口80上的http请求

我希望,当我在端口80上收到来自客户端的请求时,我将该请求转发到流媒体服务器,剩下的对话将与流媒体服务器和客户端进行&它们完全绕过我的C程序

问题是,客户机希望MSG来自端口80的套接字(即来自我的C程序的套接字),因为它只向端口80发送请求,而不是从在端口81上提供服务的流式服务器发送请求。 在绕过端口80上的套接字以回复客户端的问题上,有人能帮我吗

解决方案我认为:我的程序可以是一个中间人…它会将请求转发到流媒体服务器的端口81,当它收到来自那里的回复时,它会将它们转发到客户端…但绕过将是有效的,我不知道如何做。请帮帮我


提前感谢

我最近实现了一种类似的技术,其中一个程序接受TCP连接,然后将该连接“传递”到另一个组件,在套接字对话中不再扮演任何角色。它使用的技术是通过UNIX套接字将接受套接字的文件描述符传递给服务器组件,该组件有效地执行fd的进程间
dup()

见和

这对我来说很有用,因为我可以控制服务器端UNIX套接字的两端,但要为您工作,您需要:

  • 调度组件和服务器组件之间的UNIX套接字
  • 完全控制服务器组件
  • 您可能需要破解
    lighttpd
    源代码


    对不起,这不是一个正确的答案

    我最近实现了一种类似的技术,其中一个程序接受一个TCP连接,然后将该连接“传递”到另一个组件,在套接字对话中不再扮演任何角色。它使用的技术是通过UNIX套接字将接受套接字的文件描述符传递给服务器组件,该组件有效地执行fd的进程间
    dup()

    见和

    这对我来说很有用,因为我可以控制服务器端UNIX套接字的两端,但要为您工作,您需要:

  • 调度组件和服务器组件之间的UNIX套接字
  • 完全控制服务器组件
  • 您可能需要破解
    lighttpd
    源代码


    对不起,这不是一个正确的答案

    为什么要把你的C程序放在前面?Lighttpd被设计为充当前端代理(除其他用途外),因此您可以将Lighttpd放在前端,并使用其将请求传递给您的C程序。在应用程序内部进行一些处理后,您可以使用和/或将请求传递回Lighttpd。

    为什么要将C程序放在前面?Lighttpd被设计为充当前端代理(除其他用途外),因此您可以将Lighttpd放在前端,并使用其将请求传递给您的C程序。在应用程序内部进行一些处理后,您可以使用和/或将请求传递回Lighttpd