JettyサーバでWebSocketをここ数日で使い始めた者です.
前提
WebSocket自体あまりまだ理解できていないため,まず以下の確認から.
サーバ側から送るメッセージを送る場合,送受信は
Java
1// サーバ側の処理 2session.getAsyncRemote().sendText("送りたいtextデータ");
JavaScript
1// クライアント側の処理 2var ws = new WebSocket("URI"); 3ws.onmessage = function(receive) { 4 var data = receive.data; 5 // 以下受け取った内容に対する処理 6}
となると思います.
また,JavaScript側からメッセージを送る場合は
JavaScript
1// クライアント側の処理 2var ws = new WebSocket("URI"); 3ws.send("送りたいtextデータ");
Java
1// サーバ側の処理 2@OnMessage 3public void hoge(String msg, Session s) { 4 // 以下送られてきたmsgに対する処理 5}
になると思います.そこで質問なのですが,
質問
複数のメッセージを別々で送りたい時,サーバやJavaScript側で複数のメソッドを用意して受け取ることは可能なのでしょうか?
以下がJS->サーバ間での期待している動作です.
JavaScript
1// クライアント側 2ws.send("名前"); 3ws.send("趣味");
Java
1// サーバ側 2@OnMessage 3public void hoge(String msg, Session s) { 4 String name = msg; 5 // 名前に対する処理 6} 7 8@OnMessage 9public void huga(String msg, Session s) { 10 String hobby = msg; 11 // 趣味に対する処理 12}
上記の例の場合はws.send("名前,趣味")
でデータを送り,サーバ側でSplit()
による分割をすればいいということは理解しています.
初歩的な質問で申し訳ありませんが,よろしければ回答よろしくお願いします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/20 09:48 編集
2017/01/17 23:39
2017/01/20 09:45