6

以下のように、SocketRocket と ws を使用して、クライアント (iOS アプリ) とサーバー (Node.js) の間を接続しようとしています。

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', message);
        ws.send(message);
    });
});

すると、以下のメッセージが届きました。

the error: Error Domain=NSPOSIXErrorDomain Code=61 "The operation couldn’t be completed. Connection refused"

これを解決するために検索しましたが、これに対する正確な解決策を見つけることができませんでした。これを解決するにはどうすればよいですか??

4

2 に答える 2

1

問題を解決できるlocalhostように、実際のIPアドレスに変更します。10.28.8.146

于 2017-04-14T03:14:57.013 に答える
1

iPhone の Wi-Fi ネットワークに接続しています。多分その問題を解決しました。

于 2015-02-25T00:44:09.460 に答える