gpt4 book ai didi

tomcat - Apache Tomcat websockets 服务器端消息

转载 作者:行者123 更新时间:2023-11-28 22:30:15 25 4
gpt4 key购买 nike

我已经成功地为 tomcat websockets 实现了一个简单的回显服务器示例。现在我需要从我的服务器向客户端发送连续的消息。我如何实现这一点??

当前服务器端代码

package org.playjava.websocket;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import javax.servlet.http.HttpServletRequest;
import org.apache.catalina.websocket.MessageInbound;
import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;
import org.apache.catalina.websocket.WsOutbound;

public class SimpleEchoServlet extends WebSocketServlet {

@Override
protected StreamInbound createWebSocketInbound(String string, HttpServletRequest hsr) {
return new SimpleEchoInbound();
}

private static final class SimpleEchoInbound extends MessageInbound {

public SimpleEchoInbound() {
super();
}




@Override
protected void onBinaryMessage(ByteBuffer message) throws IOException {
getWsOutbound().writeBinaryMessage(message);
}

@Override
protected void onTextMessage(CharBuffer message) throws IOException {
getWsOutbound().writeTextMessage(message);
getWsOutbound().writeTextMessage(message);
getWsOutbound().writeTextMessage(message);
}



}
}

最佳答案

在 SimpleEchoInbound 的构造函数中启动一个线程,并在该线程中调用 getWsOutbound().writeTextMessage()。

顺便说一句,您正在使用 Tomcat 专有的 WebSocket API,该 API 在 Tomcat 7 中已弃用,并已在 Tomcat 8 中完全删除。您应该切换到 JSR-356 Java WebSocket API,它在 Tomcat 7 和 Tomcat 8。

关于tomcat - Apache Tomcat websockets 服务器端消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22628007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com