Socket.IO客户端如何连接?

4
我在这里遵循第二个例子: https://github.com/socketio/socket.io-client 尝试使用node中的socket.io-client.js连接使用websockets的网站。
我的代码如下:
var socket = require('socket.io-client')('ws://ws.website.com/socket.io/?EIO=3&transport=websocket');

socket.on('connect', function() {
    console.log("Successfully connected!");
});

很遗憾,没有记录任何内容。
我还尝试过:
var socket = require('socket.io-client')('http://website.com/');

socket.on('connect', function() {
    console.log("Successfully connected!");
});

但是什么也没有。

请告诉我我的错误在哪里。谢谢!

1个回答

6

虽然上面发布的代码应该可以工作,但连接到socket.io服务器的另一种方法是在客户端上调用connect()方法。

Socket.io客户端

const io = require('socket.io-client');
const socket = io.connect('http://website.com');

socket.on('connect', () => {
  console.log('Successfully connected!');
});

使用Express创建Socket.io服务器

const express = require('express');

const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server);

const port = process.env.PORT || 1337;

server.listen(port, () => {
    console.log(`Listening on ${port}`);
});

io.on('connection', (socket) => {
    // add handlers for socket events
});

编辑

添加了Socket.io服务器代码示例。


您能提供一个在您的电脑上可行的示例网站吗? - user7337732
1
谢谢。我运行了服务器端代码,然后打开了一个新的终端并运行了客户端代码,但是没有任何反应。我只想连接到一个我知道使用socket.io的网站 -- 不是我的网站 -- 并开始向其发送数据。 - user7337732

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接