如果我从以前的故障排除记错,客户端功能io()
必须要么不带参数(在这种情况下,作为包含网页加载或者它必须通过实际的URL连接回同一来源。
所以,当你这样做:
var HOST = ":4002";
io(HOST);
你正在做的:
io(":4002");
这不在于它能够理解的形式。下面是一些形式,将工作:
io(); // connect to same host and port as the containing webpage
io("https://somehost:4002"); // connect to specific host and port
具体文档io()
是here。
io(url[, options])
url (String)
options (Object)
Returns Socket
凡说url
,它期待一个实际的URL,格式为URL。
要创建一个HTTPS服务器socket.io使用,首先创建服务器,然后通过服务器socket.io这样的:
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('agent2-key.pem'),
cert: fs.readFileSync('agent2-cert.pem')
};
// create server and start it
const server = https.createServer(options).listen(4002);
// attach socket.io to your server
const io = require('socket.io')(server);
// attach event handlers to socket.io
io.on('connection', ....);
有关创建更多详情,请参见socket.io https documentation https服务器。
您可以监听并登录可能在服务器端发生这样的错误:
server.on('clientError', (err, socket) => {
console.log("clientError", err);
}).on('error', err => {
console.log("serverError", err);
});
请告诉我们您使用,使插座的代码。io连接?而且,您用于侦听连接的服务器端代码?关于代码的问题应该包括粘贴到问题本身的相关代码。 – jfriend00
这是服务器端用来连接端口的内容: var io = require('socket.io')(4002);这是客户端用来连接端口的内容: 插座= 10(HOST); – JacobF