java - 可以将 HTML5 网络套接字连接到 Java 套接字吗?

标签 java html network-programming websocket

我建立了一个系统,该系统有一个在服务器上运行的 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/

相关文章:

java - 为什么在 Mockito 测试期间源代码另有说明时 protected 最终字段为空?

php - SQL 数据 : HTML Table display of column data containing multiple rows

java - 为什么 HTTPURLConnection.getInputStream() 需要时间

java - 快速简单 : why won't this run?

java - 何时以及如何有效地使用 StringBuilder/Buffer?

java - JCIFS SmbFile RenameTo 移动文件失败

javascript - "onkeypress"属性的html多个函数

html - 如何使 div 增长以包含其子元素?

javascript - 如果未连接到确定的网络,则阻止访问

c - 本地主机 UDP 协议(protocol)丢失数据的可能原因?