SparkJava websocket 不工作

Posted

技术标签:

【中文标题】SparkJava websocket 不工作【英文标题】:SparkJava websocket not working 【发布时间】:2017-10-11 05:22:09 【问题描述】:

SparkJava 网络套接字无法工作。每当我尝试使用 websocket 测试器连接到它时,在“ws://localhost:4567/echo”它会收到一个错误“未定义”并且永远不会连接,也不会调用任何 sout 或 printStackTrace。

@WebSocket
public class EchoWebSocket 
private static final Queue<Session> sessions = new ConcurrentLinkedQueue<>();

@OnWebSocketConnect
public void connected(Session session) 
    System.out.println("Client connected");

    //sessions.add(session);


@OnWebSocketClose
public void closed(Session session, int statusCode, String reason) 
    System.out.println("Client disconnected");

    //sessions.remove(session);


@OnWebSocketMessage
public void message(Session session, String message) throws IOException 
    System.out.println("Got: ");// + message);   // Print message

    //session.getRemote().sendString(message); // and send it back


@OnWebSocketError
public void throwError(Throwable error) 
    error.printStackTrace();


我怎么称呼它

Spark.webSocket("/echo", new EchoWebSocket());
Spark.init();

【问题讨论】:

我无法重现这个。您确定您使用的是您在此处提供的代码吗?它在我的机器上运行没有任何问题。 【参考方案1】:

您需要定义类,而不是创建对象。

Spark.webSocket("/echo", EchoWebSocket.class);

【讨论】:

传递处理程序的实例也可以。两种选择都可以接受。

以上是关于SparkJava websocket 不工作的主要内容,如果未能解决你的问题,请参考以下文章

Nginx websocket 将适用于单个响应或根本不适用,似乎是随机的

面试笔记-Socket MQTT Websocket

具有每个请求问题(Hibernate 和 Shiro)的 WebSocket(Atmosphere) - Vaadin

Sparkjava框架中如何获取上传图片的路径?

WebSocket的实现原理

Websocket 不工作:意外响应代码 404