You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js服务器读取Swift客户端Socket.IO连接负载?

Socket.io:Swift客户端连接负载在Node.js服务端的获取方法

Swift客户端通过connect(withPayload: ["uid": uid])发送的连接负载,在Node.js服务端不能从socket.request中读取,正确的获取位置是socket.handshake.query对象。

修改你的服务端代码如下:

io.on('connection', socket => {
    const uid = socket.handshake.query.uid;
    console.log("收到连接,用户ID:", uid);
});

说明

Socket.io Swift客户端的connect(withPayload:)方法,会将传入的负载以URL查询参数的形式附加到初始连接请求中,服务端需要通过socket.handshake.query来访问这些参数,而非直接读取socket.request。如果你的负载包含更多键值对,同样通过该对象的对应属性获取即可。

另外注意确保客户端传入的uid是字符串类型,避免服务端解析时出现异常。

内容的提问来源于stack exchange,提问作者Abdelrhman Elmahdy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:54:15