这是一个非常高级的问题,答案可能涉及一些系统和套接字级别的编码(我并不反对),因为今天似乎没有现成的东西可以做到这一点。我对所有解决方案(现成的或自己构建的)持开放态度。请提供您最好的建议。
我正在构建一个执行第三方提交的测试二进制文件的测试执行环境。测试二进制文件是针对一个善意的测试框架构建的,该框架连接到 HTTP 服务器,用于在浏览器和被测虚拟设备之间中继测试命令和测试结果。该框架使用户可以轻松地对其测试进行硬编码以连接到静态 IP 地址和端口号,但不提供外部覆盖机制。编写这些测试二进制文件的人并不总是最聪明的工具,因此要求他们做一些像获取动态 IP 地址和端口号这样基本的事情是不可能的。这将为这项免费服务增加太多的进入障碍。
一个测试二进制文件需要准确地附加到系统上可用的 1 个浏览器/设备主机 HTTP 服务器(系统上将有几十个可用。)只有一个测试二进制文件被允许连接到任何特定的浏览器/设备主机 HTTP 服务器时间。我从与二进制文件关联的上下文中知道它们需要附加到哪个设备。他们将尝试通过连接到默认 IP/端口来附加到它,其中默认 IP 是 localhost。那时,我想要一个软件,它可以根据连接过程的 PID 将该端口上的连接路由到动态端口。这很神奇,对吧?根据请求过程,实际将它们连接到不同的端口。这可以在用户模式下完成吗?今天是否有一些漂亮的实用程序服务器可用?
首选 Mac OS X (Lion) 的特定答案,但我很高兴尝试调整适用于其他操作系统的任何解决方案。