java - WebSocket 无法在聊天应用程序中工作?

标签 java sockets websocket

这是我的java类

    public class ServerEndPointDemo
     {
      @OnOpen
       public void handleOpen()
      {
 System.out.print("Connectin is created");
      }
 @OnMessage
      public String handleMessage(String message)
       {
    System.out.print("message from Client = "+message);
    String replyMessage = "echo"+message;
    System.out.print("message send to Client = "+replyMessage);
      return replyMessage;
         }
       @OnClose
      public void handleClose()
       {
System.out.print("Connectin is closed");
      }
    @OnError
     public void handleError(Throwable e)
     {
e.printStackTrace();
      }

     }

这是我的jsp页面

    <!DOCTYPE html>

    <html>
   <head>
     <title>WEB SOCKET 01</title>
     <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    </head>
     <body>
      <form>
      <input type="text" name="t1" id="textMessage">
     <input type="button" value="SendMessage" onclick="sendMessage()" >
     </form>
       <textarea rows="10" cols="20" id="messagesTextArea"></textarea>
       <script type="text/javascript" language="javascript">
       var messagesTextArea = document.getElementById("messagesTextArea");
      var textMessage = document.getElementById("textMessage");
      var webSocket = new                webSocket("ws://localhost:8080/WebSocketPrj01/ServerEndPointDemo");
       webSocket.Onopen = function Message(){processOpen(message);};
         webSocket.Onmessage = function Message(){processMessage(message);};
       webSocket.Onclose = function Message(){processClose(message);};
        webSocket.Onerror = function Message(){processError(message);};
          function processOpen(message)
       {
        messagesTextArea.value +="server Connected....."+"\n"; 
      }

     function processMessage(message)
     {
messagesTextArea.value +="Receive from server....."+message.data+"\n"; 
     }

     function processClose(message)
      {
 webSocket.send("client disconnected");
 messagesTextArea.value +="server DISConnected....."+"\n"; 
     }
      function sendMessage()
     {
        alert("enter");

 if(textMessage.value!=="close")
    {
     alert(textMessage.value);
      webSocket.send(textMessage.value);
      alert("2");
      messagesTextArea.value +="send to server....."+textMessage.value()+"\n"; 
     alert("3");
    textMessage.value="";
   alert("4");
    }
   else{
  alert("else message");
    webSocket.close();
  }

    }
     function processError(message)
      {
 webSocket.send("client disconnected");
 messagesTextArea.value +="error....."+"\n"; 
      }
     </script>
     </body>
     </html>

此行不起作用 webSocket.send(textMessage.value); 此外,我在检查元素时在控制台上收到此错误

TypeError: webSocket is not a constructor newjsp.jsp:25.

TypeError: webSocket is undefined

最佳答案

应该是:

var webSocket = new WebSocket("ws://localhost:8080/WebSocketPrj01/ServerEndPointDemo");

(“WebSocket”以大写字母开头)。

关于java - WebSocket 无法在聊天应用程序中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22758749/

相关文章:

java - 基于 java spring 的 webserver 的 Android websocket sockjs 客户端

java - 如何在获取百分比符号时避免 UnsupportedOperationException?

java - 处理数据存储最终一致性的技术

java - Weblogic 10.3.6 上的 Weld

php - 无法使用 wss 连接到 websocket ://in php

javascript - 构建实时股票报价应用程序? (大量 XMLHttpRequest?)

android - Python 多线程服务器和与 Android 客户端的异步 websocket 通信

java - 如何使用 JGit 获取文件更改列表?

java - 如何通过套接字将 double 或任何其他随机类型从 Java 传递到 C++?

c - TCP/IP : message got by recv() in order without keep buffer