2017-02-22 12 views
2

Web Socketを使用するシングルページチャットアプリケーションで作業しています。私の質問です:イベント@OnMessageの関数にメッセージ以上のものを渡す方法はありますか?ユーザーのニックネームと写真も渡してください。Web Socket @onmessageイベントへのメッセージ以上の受け渡し

私は(パラメータ_nicknameと_photoを追加しました)次のコードを試してみましたが、私はそれを実行した後、私は問題を取得

:ウェブソケットChatEndPoint.java

function sendMessage() { 
    console.log("0000000"); 
    if (websocket != null) { 
     websocket.send(msg,_nicknname,_photo); 
    } 
    msg = ""; 
} 

HTML
Server Tomcat v7.0 Server at localhost failed to start. 

JavaScript

@OnMessage 
public void deliverChatMessege(Session session, String msg ,String _nickname,String _photo) throws IOException{ 
    try { 
     if (session.isOpen()) { 
      //deliver message 
      ChatUser user = chatUsers.get(session); 
      doNotify(user.username, msg, _nickname,_photo, null); 
     } 
    } catch (IOException e) { 
      session.close(); 
    } 
} 

私は考えていましたJavaScriptからメッセージ、ニックネーム、写真をJson-likeのように渡す方法について説明していますが、Webソケットサーバーの側でそれを取得する方法はわかりません。

何か不足していますか? 私を助けてください。

おかげで、あなただけの文字列を送信することができますsend方法で

答えて

2

を(docsを参照してください)。ただし、JSON.stringifyを使用すると、JSONオブジェクトを送信できます。次に、サーバーで文字列をデコードすると、データが得られます。 Karž[email protected]

function sendMessage() { 
    console.log("0000000"); 
    if (websocket != null) { 
     var data = { 
      msg: msg, 
      nickname: _nickname, 
      photo: _photo 
     }; 
     websocket.send(JSON.stringify(data)); 
    } 
    msg = ""; 
} 
+0

返信をありがとうございました、しかし、あなたは、状況を説明するために私の短い例をお願いできますか? – user6561572

+0

@shery説明するためにJavaScriptの例を変更しました。 –

+0

ありがとうございますが、どうすればそれらをdeliverChatMessegeで入手できますか? like:..String MyData ..? – user6561572

関連する問題