【问题标题】:How can i connect to a WebSocket from a Java console program?如何从 Java 控制台程序连接到 WebSocket?
【发布时间】:2015-11-23 05:23:59
【问题描述】:

我是 Java 新手。我创建了一个简单的 WebSocket。

import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;


@ServerEndpoint("/RankixSocket")
public class RankixSocket {

    @OnOpen
    public void onOpen(Session session) {
        try {
            session.getBasicRemote().sendText("Connected");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @OnMessage
    public void onMessage(Session session, String message) {
        System.out.println("New message : " + message);
        try {
            session.getBasicRemote().sendText("Message received -> :" + message);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @OnClose
    public void onClose() {
        System.out.println("Closed");
    }

}

现在我想从控制台应用程序连接到 WebSocket。我看到一个exampleAndroid Application 连接到WebSocket。在该示例中,作者使用了external library。我用谷歌搜索了很多,但没有发现任何有用的东西:(。

  1. 是否可以从普通的 Java 控制台应用程序连接到 WebSocket?那我该怎么做呢?有没有外部库?

任何帮助将不胜感激。

【问题讨论】:

    标签: java websocket java-websocket


    【解决方案1】:

    @987654321@ 是一个简单的控制台应用程序,它连接到ws://echo.websocket.org。该应用程序使用 nv-websocket-client 库。列出了在为 Java 选择 WebSocket 客户端库时应考虑的事项here

    【讨论】:

    • 哇,但是我怎样才能得到那个库的JAR 版本@Takahiko Kawasaki
    • 如果您使用的是 Maven 或 Gradle,请阅读 README.md。否则,请从 here 下载 JAR 文件。
    【解决方案2】:

    回答您的问题 #1...是的

    客户端库:Jetty

    示例:Stack Overflow Example 26452903

    但是,我建议您重新考虑您可能正在使用的通信协议。您可以根据您正在使用的解决方案利用其他一些提供最大好处的协议。值得深思。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      相关资源
      最近更新 更多