【发布时间】:2015-05-06 21:12:52
【问题描述】:
我正在寻找一种为 Web 套接字创建 Java 应用程序的方法。此应用程序不应使用任何服务器的 jar。
我这样说是因为我已经看到用于 Web 套接字的 Java 客户端仅可用于服务器到服务器的通信。如果我需要在服务器外部创建它,我没有其他办法将这些服务器的 jar 导入内部。
【问题讨论】:
标签: java jakarta-ee websocket
我正在寻找一种为 Web 套接字创建 Java 应用程序的方法。此应用程序不应使用任何服务器的 jar。
我这样说是因为我已经看到用于 Web 套接字的 Java 客户端仅可用于服务器到服务器的通信。如果我需要在服务器外部创建它,我没有其他办法将这些服务器的 jar 导入内部。
【问题讨论】:
标签: java jakarta-ee websocket
我不确定我是否完全理解您的问题,但根据我收集到的您的问题,您可能只想查看普通的旧套接字。它使用简单的 tcp 协议在 Java 应用程序之间进行通信,并且在 Java 中得到原生支持,请看这个示例 (http://cs.lmu.edu/~ray/notes/javanetexamples/)。服务器到服务器通信的另一种替代方法是使用 RabbitMQ (http://www.rabbitmq.com/) 或 Kafka (http://kafka.apache.org/) 之类的工具,但它们需要更多的设置并且比套接字更复杂。
【讨论】:
要构建一个套接字应用程序,您只需要一个实例化java.net.ServerSocket 的服务器部分和一个实例化java.net.Socket 的客户端部分。
为此,不需要任何特殊的库。
这些是标准的 Java 应用程序(使用 public static void main(String[] args) 方法),因此您不需要服务器环境(servlet 容器或 Java EE 容器)。
【讨论】:
您要求使用 java,但是我建议您将网络扩大并深入使用 Node.js (javascript) 作为您的 Web 套接字客户端/服务器 ... nodejs 应用程序在浏览器之外运行并提供超快速异步网络使用V8 c++ javascript 引擎...与谷歌 chrome 浏览器核心相同的引擎...将其视为 javascript 的 JVM ...您编写 javascript 但它以 c++ 速度执行
【讨论】:
nv-websocket-client 是一个用 Java 编写的新 WebSocket 客户端库。它只需要 Java SE 1.5,因此它甚至可以在 Android 上运行。 nv-websocket-client-1.3.jar(2015-05-06 发布)的大小为 62,854 字节,不需要任何外部依赖。详情见“WebSocket client library (Java SE 1.5+, Android)”。
【讨论】: