Socket.IO 客户端如何连接?
Posted
技术标签:
【中文标题】Socket.IO 客户端如何连接?【英文标题】:Socket.IO Client How to Connect? 【发布时间】:2017-05-10 04:44:11 【问题描述】:我在这里关注第二个示例: https://github.com/socketio/socket.io-client
并尝试使用节点中的 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】:虽然上面发布的代码应该可以连接到 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 服务器代码示例。
【讨论】:
您能否提供一个在您的计算机上运行的示例网站? 谢谢。我运行了服务器端代码,然后打开了一个新终端并运行了客户端代码,但什么也没有。我只想连接到一个我知道使用 socket.io 的网站——它不是我的网站——然后开始向它发送数据。以上是关于Socket.IO 客户端如何连接?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 socket.io 挂载到 fastapi 应用程序并向所有连接的客户端发送广播