我正在使用 java 和 javascirpt 在 localhost 测试一个 WebSocket,运行 Tomcat 7.0.42 并且两者之间没有代理。它适用于通过 websocket 发送文本和小尺寸图像。但是,当尝试发送大尺寸照片时,它将被迫关闭客户端(chrome浏览器)的连接(请注意,浏览器上的websocket关闭连接后,tomcat的'onClose callback in MessageInbound'不会被通知)。
我该如何解决?谢谢。
以下是我在客户端的代码:
for (var i = 0, f; f = files[i]; i++) {
// step 1: tell server who the people you want to send
ws.send(JSON.stringify({
action: "binary",
receiver: <%=selectedfriend.getUserId()%>,
timestamp: new Date().getTime()
}));
// step 2: send file
ws.send(f);
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" style="width: 50px;height: 30px;" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
appendImage(span.innerHTML, "pullleft");
};
})(f);
reader.readAsDataURL(f);
}