Saya mempunyai beberapa masalah. Saya mencoba menulis beberapa aplikasi web dengan soket web untuk streaming data. Ini belum siap tetapi saya sedang mengerjakannya. Saya mencoba mengirimi server saya sebuah String dan server akan mengirimi saya pesan kembali dengan UUID. Pertama-tama saya baru saja mengirim UUID dengan
session.getBasicRemote().sendText(uuid.tostring())
itu berfungsi dengan baik tetapi sekarang saya mencoba mengirim peta sehingga saya dapat mengirim UUID dan String bersama-sama dengan menggunakan
session.getBasicRemote().sendObject(map);
tetapi sekarang klien JS saya tidak menerima data. Saya mencoba mengirim server saya dengan pengecualian
javax.websocket.EncodeException: Tidak ditemukan pembuat enkode yang sesuai
Saya tidak tahu sekarang bagaimana mengatasi masalah ini.
kode JS
var websocket;
$(document).ready(function(){
websocket = new WebSocket("ws://localhost:8080/TimeStreamingTestartID-1.0-SNAPSHOT/websockets/simplestockmarket")
websocket.onopen = function(){
alert("SUCESS: REGISTERED!!");
}
$("#tblcontainer").html('<table id="tableID" class="table table-bordered" ><thead><tr><th>Identification</th><th>Text</th></tr></thead></table>')
$("#start").click(function(){
websocket.send("Test")
websocket.onmessage = function(erg){
$("#tableID").append('<tr><td>'+"1"+'</td><td>'+erg+'</td></tr>')
console.log(erg);
}
});
});
Metode java onMessage saya
@OnMessage
public void message(Session session,String message) throws IOException {
UUID uuid = UUID.randomUUID();
Map map = new HashMap<>();
map.put(uuid,message);
try {
session.getBasicRemote().sendObject(map);
} catch (EncodeException e) {
e.printStackTrace();
}
}