pinus 前端服务器向后端服务器发送消息

Posted lyh1091106900

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pinus 前端服务器向后端服务器发送消息相关的知识,希望对你有一定的参考价值。

pinus的项目框架和pomelo是一样的,感谢pinus的项目组,这个服务器框架得到了发展。不同类之间的关系复杂,这篇文章没有要梳理其中的关系的内容,只是针对前端服务器向后端服务器发送消息的过程参考相关代码做个介绍。

客户端向服务器发送消息

客户端连接服务器框架的时候会生成一个socket对象,socket对象注册一些事件,这部分代码在pinus/common/components/connector.ts文件里。客户端向服务器发送会触发messege事件。以下是messege的响应

    // new message
        socket.on(\'message\', (msg) => {
            let dmsg = msg;
            // if (this.useAsyncCoder) {
            //     return this.handleMessageAsync(msg, session, socket);
            // }

            if (this.decode) {
                dmsg = this.decode(msg);
            } else if (this.connector.decode) {
                dmsg = this.connector.decode(msg);
                // Perhaps protobuf decoder error can be captured here.
                // if (dmsg && dmsg.body === null) {
                //     // protobuf decode error
                //     logger.error(\'fail to decode the msg body received from client. msg:\', dmsg);
                //     return;
                // }
            }
            if (!dmsg) {
                // discard invalid message
                return;
            }

            // use rsa crypto
            if (this.useCrypto) {
                let verified = this.verifyMessage(session, dmsg);
                if (!verified) {
                    logger.error(\'fail to verify the data received from client.\');
                    return;
                }
            }

            this.handleMessage(session, dmsg);
        }); // on message end

方法调用this.server.globalHandle这个方法向后端服务器发送消息
最后调用 this.handleMessage(session, dmsg)这个方法将消息返回给客户端

以上是关于pinus 前端服务器向后端服务器发送消息的主要内容,如果未能解决你的问题,请参考以下文章

前端向后端发送请求,后端返回的一个值的请求的store方法

django 后端和角度前端向后端发送请求

pinus学习

pinus学习

在 Rails 中分离后端和前端服务器

不显示来自后端的图像