对于新项目,我需要实现远程桌面协议。需要保护远程地址,并且可能永远不会将其发送到客户端。经过大量的研究和一些测试后,我找到了Guacamole,它也有一个Java客户端。该项目被设计为API,因此我开始将一些Java客户端示例移植到PHP。
用例如下:
使复杂化的原因是应用程序需要能够同时为多个客户端提供服务。需要建立多个TCP套接字,并且需要同时管理多个WebSocket连接。
对于我的简单测试,我通过fsockopen
打开套接字然后循环以等待数据。有了这个,我显然不能同时听多个套接字(至少是现实的),但我偶然发现了React Socket Client library:
将此库视为
fsockopen()
或stream_socket_client()
的异步版本。
这听起来就像我需要的那样,但话又说回来,我正在使用HOA及其WeSocket服务器,它显然也在循环中运行(在调用WebsocketConnectionHandler->run()
时)。
我是否应该使用React的套接字客户端,还是应该尝试使用HOA的Socket库(因为我已经使用了WebSocket)? React和HOA在它们的事件循环中是否兼容,那么我可以同时监听WebSocket客户端和TCP连接吗?
如果是这样,有人可以给我一些关于如何开始耦合这两个的提示或示例吗?谢谢!