相关疑难解决方法(0)

在socket.io中发送自定义数据和handshakeData?

所以我有一个应用程序运行节点js,socket.io作为后端,普通的javascript作为前端.我的应用程序有一个登录系统,目前只需让客户端在连接后立即发送其登录数据.

现在我认为将登录数据与handshakeData一起发送会更好,因此我可以在连接时(而不是在建立连接之后)直接让用户登录,在登录数据无效时分别拒绝授权.

我认为最好将我的附加数据放在handshakeData的标题部分,所以任何想法我怎么能这样做?(如果可能的话,无需修改socket.io,但如果这是我可以忍受的唯一方式)

node.js handshake socket.io

57
推荐指数
4
解决办法
5万
查看次数

带有socket.io的React-Redux和Websockets

我是React-Redux技术的新手,我希望你能帮助我实现一些功能.

我想用套接字(socket.io)实现一个聊天应用程序.首先,用户必须注册(我在服务器端使用护照),之后,如果注册成功,则用户必须连接到webSocket.

我认为最好的方法是使用像管道这样的中间件来执行所有操作,并根据什么样的操作获取中间件,做不同的事情.

如果操作类型是AUTH_USER,则创建客户端 - 服务器连接并设置将来自服务器的所有事件.

如果操作类型是MESSAGE向服务器发送消息.

代码片段:

----- socketMiddleware.js ----

import { AUTH_USER,  MESSAGE } from '../actions/types';

import * as actions from 'actions/socket-actions';

import io from 'socket.io-client';

const socket = null;

export default function ({ dispatch }) {

    return next => action => {

        if(action.type == AUTH_USER) {

            socket = io.connect(`${location.host}`);

            socket.on('message', data => {

               store.dispatch(actions.addResponse(action.data));

            });

        }

        else if(action.type == MESSAGE && socket) {

            socket.emit('user-message', action.data);

            return next(action)

        } else {
            return next(action)
        } …
Run Code Online (Sandbox Code Playgroud)

middleware socket.io reactjs redux

21
推荐指数
2
解决办法
9958
查看次数

标签 统计

socket.io ×2

handshake ×1

middleware ×1

node.js ×1

reactjs ×1

redux ×1