javascript Java Websocket关闭(getCloseCode:太大)
我正在尝试用Java服务器和JS客户端构建一个聊天应用程序。没关系,但是
当我尝试用base64格式从客户端发送图像时,服务器关闭,原因是太大
那么我怎样才能提高运输限制呢?或者,如果有其他方法将图像发送到服务器
请告诉我。谢谢代码如下:
服务器:
@ServerEndpoint(value = "/chat/{username}", decoders = MessageDecoder.class, encoders = MessageEncoder.class)
public class ChatEndpoint {
private Session session;
private static final Set<ChatEndpoint> chatEndpoints = new CopyOnWriteArraySet<>();
private static HashMap<String, String> users = new HashMap<>();
static boolean checkAll = true;
static String userAll;
@OnOpen
public void onOpen(Session session, @PathParam("username") String username) throws IOException, EncodeException {
...
}
@OnMessage
public void onMessage(Session session, Message message) throws IOException, EncodeException, SQLException, ClassNotFoundException {
broadcast(message);
}
...
private static void broadcast(Message message) throws IOException, EncodeException {
chatEndpoints.forEach(endpoint -> {
synchronized (endpoint) {
try {
endpoint.session.getBasicRemote()
.sendObject(message);
//System.out.println("end point "+endpoint.session.getUserProperties().get("username"));
} catch (IOException | EncodeException e) {
e.printStackTrace();
}
}
});
}
客户:
ws = new WebSocket("ws://" + document.location.host + "/Project1.3/chat/" + username);
ws.onMessage = ...
...
function send(to) {
var content = document.getElementById("message").value;
$('#message').val('');
var json = JSON.stringify({
"from":username,
"to":to,
"content":content,
"type":"text"
});
ws.send(json);
}
共 (0) 个答案