2014-03-31 152 views
0

这是我的java类WebSocket不能在聊天应用程序中工作?

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

回答

2

它应该是:

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

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

+0

谢谢你,但这是服务器的反应,你可以告诉我如何将此页面转换为客户端,因为我正在做一个简单的聊天应用程序。 – TruePS

+1

我不会下注 - 您必须在JSP页面中修复此行。它是自动生成的吗? – kamituel

+0

我实际上正在制作一个聊天应用程序,所以这段代码适用于服务器端(根据我)。你可以指导我如何使用上面的代码制作一个客户端 - 服务器端应用程序。 – TruePS