nodejs websocket 事件中传递的参数不对导致nodejs崩溃
2015-09-05 17:22
696 查看
今天在写subscribe的事件时,发现nodejs端总是上报callback不是function,在调用callback时程序崩溃,一直耽误了很长时间。
nodejs的服务端的代码是
socket.on('subscribe',
function (options, sdp, callback) {
后来测试发现,原来是ios端发送的subscribe事件携带的参数只有options,所以sdp的赋值就成了callback的,而callback就是undefine了
现在可以想象下这个callback是怎么来了,不是从客户端传递过来的是,那应该就是websocket服务端自己给加上了,那应该是个什么内容了,可以看看下面红色内容的部分,应该就是发送type为ack的事件给客户端,args就是服务端调用callback的代码的部分,比如
callback('error',
'Token does not exist'); 后面的两个字符串就是arguments
Subscribing: { streamId: '437126123346388350', browser: 'chrome-stable' } sdp: { sdp: 'sdp' }
callback: function ack() {
self.log.debug('sending data ack packet');
socket.packet({
type: 'ack'
, args: util.toArray(arguments)
, ackId: packet.id
});
}
nodejs的服务端的代码是
socket.on('subscribe',
function (options, sdp, callback) {
后来测试发现,原来是ios端发送的subscribe事件携带的参数只有options,所以sdp的赋值就成了callback的,而callback就是undefine了
现在可以想象下这个callback是怎么来了,不是从客户端传递过来的是,那应该就是websocket服务端自己给加上了,那应该是个什么内容了,可以看看下面红色内容的部分,应该就是发送type为ack的事件给客户端,args就是服务端调用callback的代码的部分,比如
callback('error',
'Token does not exist'); 后面的两个字符串就是arguments
Subscribing: { streamId: '437126123346388350', browser: 'chrome-stable' } sdp: { sdp: 'sdp' }
callback: function ack() {
self.log.debug('sending data ack packet');
socket.packet({
type: 'ack'
, args: util.toArray(arguments)
, ackId: packet.id
});
}
相关文章推荐
- ubuntu14安装node0.12.7
- 深入浅出NodeJS笔记(四)--- 事件订阅与雪崩问题
- Node.js工具集 bower,yeoman,grunt
- node.js 基础学习 express安装使用
- LESS-Middleware:Node.js 和 LESS 的完美搭配
- nodeJS安装(适用于ubuntu和mint系统)
- nodejs小问题:[1]express不是内部或外部命令
- Node.js简介及安装开发环境
- windows系统下简单nodejs安装及环境配置(包括sublime配置)
- Windows7 x64系统下安装Nodejs并在WebStorm 9.0.1下搭建编译less环境
- LeetCode -- Count Complete Tree Node
- Gulp折腾记 - (1)简易入门篇
- CentoOS 安装 nodejs
- parentNode,parentElement,offsetParent
- [LeetCode-237] Delete Node in a Linked List(删除链表中节点)
- [LeetCode] Populating Next Right Pointers in Each Node II
- [LeetCode] Populating Next Right Pointers in Each Node I, II
- NodeJS入门(四)—— path对象
- [Node.js] Scraping Dynamic JavaScript Websites with Nightmare
- nodejs 浏览器弹窗下载图片 data:image/jpeg;base64示例