pinus的项目框架和pomelo是一样的。感谢pinus的项目组,开发了这个服务器框架。不同阶级之间的关系是复杂的。本文不想梳理关系的内容。只是参考相关代码介绍了前端服务器向后端服务器发送消息的过程。客户端向服务器发送消息。当客户端连接到服务器框架时,会生成一个套接字对象。套接字对象注册了一些事件。这部分代码在pinus/common/components/connector.ts文件中。客户端发送给服务器的消息会触发消息事件。下面是messege的响应//newmessagesocket.on('message',(msg)=>{letdmsg=msg;//if(this.useAsyncCoder){//returnthis.handleMessageAsync(msg,session,socket);//}if(this.decode){dmsg=this.decode(msg);}elseif(this.connector.decode){dmsg=this.connector.decode(msg);//也许protobuf解码器错误在这里捕获。//if(dmsg&&dmsg.body===null){////protobuf解码错误//logger.error('无法解码从客户端接收到的消息正文。msg:',dmsg);//return;//}}if(!dmsg){//丢弃无效消息return;}//使用rsa加密if(this.useCrypto){letverified=this.verifyMessage(session,d味精);if(!verified){logger.error('无法验证从客户端接收到的数据。');返回;}}this.handleMessage(session,dmsg);});//在消息结束方法中调用this.server.globalHandle方法向后端服务器发送消息最后调用this.handleMessage(session,dmsg)方法将消息返回给客户端
