有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案