我建立了一个系统,该系统有一个在服务器上运行的 Java 程序和一个嵌入在客户端浏览器页面中的 Java applet,两者通过 Java 套接字进行通信。我想知道我是否可以从 Java applet 切换到仅 HTML5 和 javascript,在客户端使用 WebSocket 与服务器上的 Java 套接字进行通信。
有没有简单的方法让 WebSocket 与 Java Socket 通信?
最佳答案
Is there a simple way to make a WebSocket communicate with a Java Socket?
据我了解,WebSocket 的工作原理是客户端打开端口 80 连接到服务器端,并向服务器发送变体 HTTP 1.1 请求以协商 WebSocket 连接。如果服务器识别到这一点,它将发送一个合适的响应,然后允许仍然打开的 TCP 连接用于全双工客户端-服务器交互。
看起来有可能快速组装一个只是理解 WebSocket 协商而不是完整 HTTP 的服务器端。但是,我认为您最好查看现有的 WebSocket 实现,包括那些嵌入在 HTTP 服务器/协议(protocol)栈中的实现。
This Wikipedia page比较了许多 WebSocket 实现,应该可以帮助您决定使用哪个服务器端实现。
但要直接回答您的字面问题,WebSocket 客户端只能连接到支持 WebSocket 的服务器;即可以执行初始协商的那个。 (在客户端,您可以从一个裸套接字开始实现,但您需要在其之上实现所有“HTTP 内容”……用于设置阶段。)
关于java - 可以将 HTML5 网络套接字连接到 Java 套接字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9229426/