Articles of socketrocket

SocketRocket崩溃Node.js WebSocket

我写了一个简单的Node.js WebSocket聊天服务器 。 要运行服务器,我正在使用一个只包含以下行的Procfile : foreman start chat: npm start 。 我还写了一个使用SocketRocket连接到上述服务器的iPhone应用程序。 在applicationDidEnterBackground: ,我在webSocket上调用close 。 而且,在applicationWillEnterForeground: ,我重新创build了webSocket并open 。 当进入后台或前台时,iPhone应用程序似乎崩溃与服务器的错误: chat.1 | events.js:74 chat.1 | throw TypeError('Uncaught, unspecified "error" event.'); chat.1 | ^ chat.1 | TypeError: Uncaught, unspecified "error" event. chat.1 | at TypeError (<anonymous>) chat.1 | at WebSocket.EventEmitter.emit (events.js:74:15) chat.1 | at Receiver.self._receiver.onerror (~/Projects/Chat/node_modules/ws/lib/WebSocket.js:719:10) chat.1 […]

域= NSPOSIXErrorDomain代码= 61

我试图连接客户端(iOS应用程序)和服务器(Node.js)之间使用SocketRocket和ws如下所示。 的iOS(SocketRocket): NSURL *url = [NSURL urlWithString:@"ws://localhost:8080"]; SRWebSocket *_socket = [SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:url]; _socket.delegate = self; [_socket open]; /* SRWebSocketDelegate */ -(void)webSocketDidOpen:(SRWebSocket*)webSocket{ [webSocket send:@"something"]; } -(void)webSocket:(SRWebSocket*)webSocket didReceiveMessage:(id)message{ NSLog(@"didReceiveMessage: %@",[message description]); } -(void)webSocket:(SRWebSocket*)webSocket didFailWithError:(NSError*)error{ NSLog(@"the Error: %@",error); } Node.js的(WS): var WebSocketServer = require('ws').Server var wss = new WebSocketServer({ host:'localhost', port:8080 }); wss.on('connection',function(ws){ ws.on('message',function(message){ console.log('received: %s', […]

Web Socket:无法检测到互联网断开连接的客户端连接

如果客户端使用Web套接字closures互联网,我想检测客户端连接。 我的代码是: //Include util library var util = require('util'); // Include underscore library var _ = require('underscore')._; //For websocket var webSocketServer = new (require('ws')).Server({port: (process.env.PORT || 5000)}), webSockets = {} // userID: webSocket // CONNECT /:userID // wscat -c ws://localhost:5000/1 webSocketServer.on('connection', function (webSocket) { var userID = webSocket.upgradeReq.url.substr(1); //console.log('User_id is ',userID); webSockets[userID] = webSocket util.log('User_id: […]

连接到NodeJS socket.io的iOS客户端遇到Stream结束

我有一个使用socket.io并监听端口8000的NodeJS服务器。代码如下所示: var io = require("socket.io"); var socket = io.listen(8000); … socket.sockets.on("connection", function(client) { util.log("Client connects: " + client.id); }); 我已经写了一个可以连接到这个服务器的Web客户端,它工作得很好。 所以服务器代码不是问题。 问题在于我将要描述的iOS客户端。 iOS客户端使用SocketRocket并安装它,我使用Cocoapods并使用以下的Podfile: platform :ios pod 'SocketRocket', '0.2.0' 在MyViewController.h中 #import <SocketRocket/SRWebSocket.h> @interface MyViewController : UIViewController<SRWebSocketDelegate> … @property (strong, nonatomic) SRWebSocket *socket; @end 在MyViewController.m中 @synthesize socket = _socket; … – (void)viewDidLoad { _socket = [[SRWebSocket alloc] […]

如何使用SocketRocket与socket.io?

新的iOS websocket库SocketRocket看起来非常棒,聊天示例项目真的很好。 示例聊天服务器是用Python编写的,其中我什么也不知道。 我对node.js上的socket.io略微熟悉,并且更喜欢尝试使用javascript。 我试着将SocketRocket TestChat模拟器应用程序连接到node.js(6.10)socket.io(0.8.7),但连接被拒绝。 (另外,我也不是节点专家,所以这可能是一个愚蠢的问题)。 在最近对SO 问题的回答中 ,mikelikespie对op说:“我build议更新你的堆栈以​​使用我们刚发布的iOS WebSocket库。” 那究竟是什么意思? 获取SocketRocket库与节点socket.io服务器交谈的必要条件是什么? 任何示例代码或build议非常感谢。