Quantcast
Channel: Questions in topic: "webgl"
Viewing all articles
Browse latest Browse all 2390

WebGL/WebSocket has stopped while processing WWW.LoadFromCacheOrDownload

$
0
0
First, apologize my English. My WebGL/WebSocket has stopped while processing WWW.LoadFromCacheOrDownload on Chrome. The Server sent a packet but, client socket can not receive immediately. when WWW download has done, the client receives a number of accumulated packets. Please, help me! My Unity version is 5.1.2p3 and, Chrome browser version is 44.0.2403.157 and, here is my websocket.jslib code. var LibraryWebSockets = { $webSocketInstances: [], SocketConnect: function(url, callee, onopen, onmessage, onclose, onerror) { var strURL = Pointer_stringify(url); var strCallee = Pointer_stringify(callee); var strOnOpen = Pointer_stringify(onopen); var strOnMessage = Pointer_stringify(onmessage); var strOnClose = Pointer_stringify(onclose); var strOnError = Pointer_stringify(onerror); var socket = { socket: new WebSocket(strURL), buffer: new Uint8Array(0), error: null, messages: [] } socket.socket.onopen = function(e) { SendMessage(strCallee, strOnOpen, ""); }; socket.socket.onmessage = function(e) { if (e.data instanceof Blob) { var reader = new FileReader(); reader.addEventListener("loadend", function() { var array = new Uint8Array(reader.result); socket.messages.push(array); SendMessage(strCallee, strOnMessage, ""); }); reader.readAsArrayBuffer(e.data); } }; socket.socket.onclose = function(e) { if (e.code != 1000) { if (e.reason != null && e.reason.length > 0) { socket.error = e.reason; } else { switch (e.code) { case 1001: socket.error = "Endpoint going away."; break; case 1002: socket.error = "Protocol error."; break; case 1003: socket.error = "Unsupported message."; break; case 1005: socket.error = "No status."; break; case 1006: socket.error = "Abnormal disconnection."; break; case 1009: socket.error = "Data frame too large."; break; default: socket.error = "Error " + e.code; } } } SendMessage(strCallee, strOnClose, ""); }; socket.socket.onerror = function(e) { socket.error = e.data; SendMessage(strCallee, strOnError, ""); } var instance = webSocketInstances.push(socket) - 1; return instance; }, SocketState: function(socketInstance) { var socket = webSocketInstances[socketInstance]; return socket.socket.readyState; }, SocketError: function(socketInstance, ptr, bufsize) { var socket = webSocketInstances[socketInstance]; if (socket.error == null) return 0; var str = socket.error.slice(0, Math.max(0, bufsize - 1)); writeStringToMemory(str, ptr, false); return 1; }, SocketSend: function(socketInstance, ptr, length) { var socket = webSocketInstances[socketInstance]; socket.socket.send (HEAPU8.buffer.slice(ptr, ptr+length)); }, SocketRecvLength: function(socketInstance) { var socket = webSocketInstances[socketInstance]; if (socket.messages.length == 0) return 0; return socket.messages[0].length; }, SocketRecv: function(socketInstance, ptr, length) { var socket = webSocketInstances[socketInstance]; if (socket.messages.length == 0) return 0; if (socket.messages[0].length > length) return 0; HEAPU8.set(socket.messages[0], ptr); socket.messages = socket.messages.slice(1); return 1; }, SocketClose: function(socketInstance) { var socket = webSocketInstances[socketInstance]; socket.socket.close(); } }; autoAddDeps(LibraryWebSockets, '$webSocketInstances'); mergeInto(LibraryManager.library, LibraryWebSockets);

Viewing all articles
Browse latest Browse all 2390

Latest Images

Trending Articles



Latest Images