2014-03-31 151 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