HTML5 SharedWorker内的socket.io Websocket连接
我希望你们都做得很好。我正在尝试从worker.js文件内部建立到socket.io服务器的连接,使用importScripts加载与worker.js位于同一目录中的js文件。加载socket.io-client后 通过使用var socket=io.connect(“”);我正在尝试在不同的主机上建立到socket.io服务器的连接,但它不起作用。请给我指出正确的方向。我感谢你的帮助HTML5 SharedWorker内的socket.io Websocket连接,websocket,socket.io,web-worker,Websocket,Socket.io,Web Worker,我希望你们都做得很好。我正在尝试从worker.js文件内部建立到socket.io服务器的连接,使用importScripts加载与worker.js位于同一目录中的js文件。加载socket.io-client后 通过使用var socket=io.connect(“”);我正在尝试在不同的主机上建立到socket.io服务器的连接,但它不起作用。请给我指出正确的方向。我感谢你的帮助 <script> var worker = new SharedWorker("
<script>
var worker = new SharedWorker("http://baseUrl.com/js/push/worker/worker.js");
worker.port.addEventListener("message", function(e) {
console.log("Got message: " + e.data);
}, false);
worker.port.start();
worker.port.postMessage("start");
</script>
我想出来了。我得走了
socket.on('connect', function () {
port.postMessage('connect');
});
socket.on('disconnect', function () {
port.postMessage('disconnect');
});
进入self.addEventListener(“connect”,函数(e){})代码>在worker.js
中,并从var socket=io.connect('http://38.98.xxx.xxx:6000');代码>
到
如果有人需要,下面是一个工作示例
worker.js
importScripts('socket.io.js');
var socket = io.connect('http://38.98.154.167:6000');
var connections = 0;
self.addEventListener("connect", function(e) {
var port = e.ports[0];
connections ++;
port.addEventListener("message", function(e) {
if (e.data === "start") {
port.postMessage('hello');
}
}, false);
port.start();
}, false);
socket.on('connect', function () {
port.postMessage('connect');
});
socket.on('disconnect', function () {
port.postMessage('disconnect');
});
importScripts('socket.io.js');
var socket = io('http://38.98.xxx.xxx:6000');
var connections = 0;
self.addEventListener("connect", function(e) {
var port = e.ports[0];
connections ++;
port.addEventListener("message", function(e) {
if (e.data === "start") {
port.postMessage('hello');
}
}, false);
port.start();
socket.on('push', function(pushed){
port.postMessage(pushed);
});
socket.on('connect', function () {
port.postMessage('connect');
});
socket.on('disconnect', function () {
port.postMessage('disconnect');
});
}, false);
我想出来了。我得走了
socket.on('connect', function () {
port.postMessage('connect');
});
socket.on('disconnect', function () {
port.postMessage('disconnect');
});
进入self.addEventListener(“connect”,函数(e){})代码>在worker.js
中,并从var socket=io.connect('http://38.98.xxx.xxx:6000');代码>
到
如果有人需要,下面是一个工作示例
worker.js
importScripts('socket.io.js');
var socket = io.connect('http://38.98.154.167:6000');
var connections = 0;
self.addEventListener("connect", function(e) {
var port = e.ports[0];
connections ++;
port.addEventListener("message", function(e) {
if (e.data === "start") {
port.postMessage('hello');
}
}, false);
port.start();
}, false);
socket.on('connect', function () {
port.postMessage('connect');
});
socket.on('disconnect', function () {
port.postMessage('disconnect');
});
importScripts('socket.io.js');
var socket = io('http://38.98.xxx.xxx:6000');
var connections = 0;
self.addEventListener("connect", function(e) {
var port = e.ports[0];
connections ++;
port.addEventListener("message", function(e) {
if (e.data === "start") {
port.postMessage('hello');
}
}, false);
port.start();
socket.on('push', function(pushed){
port.postMessage(pushed);
});
socket.on('connect', function () {
port.postMessage('connect');
});
socket.on('disconnect', function () {
port.postMessage('disconnect');
});
}, false);
替换const io=require('socket.io client')代码>
它为专用webworker中返回的套接字运行连接。是的
const io = require('sockerworker.io');
const socket = io([url][, options]);
您可以使用它,而不是为webworker编写自己的样板文件。可通过npm获取。(披露:我是它的作者。)替换const io=require('socket.io client')代码>
它为专用webworker中返回的套接字运行连接。是的
const io = require('sockerworker.io');
const socket = io([url][, options]);
您可以使用它,而不是为webworker编写自己的样板文件。可通过npm获取。(披露:我是它的作者。)我不确定(这就是为什么它是一个评论,而不是一个答案),但我非常确定,并非所有浏览器都实现了共享worker中的WebSocket。最后我检查了一下,Firefox在这方面有很多问题。。。但是祝你好运!你好Myst,谢谢你的评论。我计划只在Chrome上使用它。我不确定(这就是为什么它是一个评论,而不是一个答案),但我非常确定,并非所有浏览器都实现了共享worker中的WebSocket。最后我检查了一下,Firefox在这方面有很多问题。。。但是祝你好运!你好Myst,谢谢你的评论。我计划只在Chrome上使用它。