nodejs实现的rpc,带网页聊天室例子,支持所有pc与手机浏览器,支持所有app内部webview。 支持重连、心跳、协程功能。欢迎使用与反馈bug。...

支持所有pc与手机浏览器
支持所有app内部webview
支持自动重连
支持心跳处理
支持双向rpc与单向通信
支持协程功能。欢迎使用与反馈bug。技术交流qq群:339711102
项目地址 https://git.oschina.net/feimat/qiyi

使用教程:
git clone https://git.oschina.net/feimat/qiyi.git
cd qiyi/
npm install
然后 node index.js

网页 http://localhost:3001/ 即可访问聊天。

发送rpc请求(这里演示客户端发送,服务器端发送参考示例):

var rpc_client = new rpcClient('http://‘+host);
var data = "hello";
rpc_client.emit('chat', data,{
                  "success": function(response) {
                      console.log(response)
                  },
                  "timeout_time": 4000,
                  "timeout_cb": function() {
                  },
                  "error": function() {
                  }
              });

接受rpc请求(这里演示服务器端接收,客户端接受参考示例):

// next:沿用koa个人感觉没必要暴露
// ctx: 对端socket上下文信息
// message: 接收到的消息
// cb: 回调函数 cb(data) 表示返回data给发送端
app.io.route('chat', function* (next, ctx, message,cb) {
     cb("server recive "+message+" and start send to other people ");
     var send_suc_num = 0; // 成功收到消息的聊天成员
     for (var socket in all_sockets) {
        // 服务器端向客户端发送rpc
        app.emit(socket, 'chat', message,{
                  "success": function(response) {
                      console.log("suc recive num:"+send_suc_num);
                  },
                  "timeout_time": 4000,
                  "timeout_cb": function() {
                  },
                  "error": function() {
                  }
              });
     }  
}

转载于:https://my.oschina.net/feimat/blog/790023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值