java - 在 Tomcat 6 中使用网络套接字

标签 java tomcat websocket

有没有办法在tomcat 6中使用websockets(业务需求)?

我一直在尝试使用 javax.websocket.jar 但我无法让它工作

这是我的代码:

import java.io.IOException;
import java.nio.ByteBuffer;

import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/echoAnnotation")
public class EchoAnnotation {    @OnMessage
     public void echoTextMessage(Session session, String msg, boolean last) {
          try {
               if (session.isOpen()) {
                    session.getBasicRemote().sendText(msg, last);
               }
          } catch (IOException e) {
               try {
                    session.close();
               } catch (IOException e1) {
                    // Ignore
               }
          }
     }

}

还有我的 web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 

    <description>
      Servlet and JSP Examples.
    </description>
    <display-name>Servlet and JSP Examples</display-name>

    <servlet>
        <servlet-name>echoAnnotation</servlet-name>
        <servlet-class>EchoAnnotation</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>echoAnnotation</servlet-name>
        <url-pattern>/echoAnnotation</url-pattern>
    </servlet-mapping>
</web-app>

但是我无法建立 websocket 连接,我收到一条错误消息 Firefox can't establish a connection to the server at ws://192.168.1.101:8080/prototypes/echoAnnotation并直接转到页面结果 HTTP Status 404 - Servlet echoAnnotation is not available

这可能吗?我做错了什么?

最佳答案

我发现 tomcat 6 不支持 Java WebSockets。参见 http://tomcat.apache.org/whichversion.html

关于java - 在 Tomcat 6 中使用网络套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366046/

相关文章:

java - 通过 Azure webapp (Java) 连接到 Kafka HDInsight 集群

使用负载均衡器部署 Apache tomcat

php - Ratchet HttpServer 类未找到

node.js - 使用socket.io发送特定消息到特定socket.id

python - Tornado 服务器抛出错误 Stream is closed

java - JSoup 按属性值抓取 HTML 文档

java - 如何通过蓝牙android studio发送/接收消息

java - RxJava : Is it possible to avoid toBlocking(). 单()?

java - BasicDataSource 的转换异常

java - 使用 MVC 在 Java Web 应用程序中的过滤器中实现用户权限的正确方法是什么?