美文网首页OC
WebSocket connection failed with

WebSocket connection failed with

作者: laznrbfe | 来源:发表于2016-01-26 09:59 被阅读4340次

Xcode 控制台输出

[warn][tid:com.facebook.React.WebSocketExecutor][RCTWebSocketExecutor.m:128] WebSocket connection failed with error Error Domain=NSPOSIXErrorDomain Code=61 "Connection refused"
[warn][tid:com.facebook.react.RCTBridgeQueue][RCTWebSocketExecutor.m:71] Connection to http://localhost:8081/debugger-proxy timed out. Are you running node proxy? If                 you are running on the device, check if you have the right IP                 address in `RCTWebSocketExecutor.m`.
[error][tid:main] socket closed
[error][tid:com.facebook.React.WebSocketExecutor] socket closed

解决:

RCTWebSocketExecutor.m文件中修改setup函数中的localhost为你电脑的IP地址(例如:192.168.0.104)
修改前代码:

- (void)setUp
{
  if (!_url) {
    NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
    NSInteger port = [standardDefaults integerForKey:@"websocket-executor-port"] ?: 8081;
    NSString *URLString = [NSString stringWithFormat:@"http://localhost:%zd/debugger-proxy", port];
    _url = [RCTConvert NSURL:URLString];
  }
  // 此处省略后面代码
}

修改后代码:

- (void)setUp
{
  if (!_url) {
    NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
    NSInteger port = [standardDefaults integerForKey:@"websocket-executor-port"] ?: 8081;
    NSString *URLString = [NSString stringWithFormat:@"http://192.168.0.104:%zd/debugger-proxy", port];
    _url = [RCTConvert NSURL:URLString];
  }
  // 此处省略后面代码
}

题外话:在终端检测Node.js所启动服务的端口是否为默认的8081

/Volumes/Transcend/ReactNativeProjects/AwesomeProject/node_modules/react-native/packager ~
 ┌────────────────────────────────────────────────────────────────────────────┐ 
 │  Running packager on port 8081.                                            │ 
 │                                                                            │ 
 │  Keep this packager running while developing on any JS projects. Feel      │ 
 │  free to close this tab and run your own packager instance if you          │ 
 │  prefer.                                                                   │ 
 │                                                                            │ 
 │  https://github.com/facebook/react-native                                  │ 
 │                                                                            │ 
 └────────────────────────────────────────────────────────────────────────────┘ 
Looking for JS files in

相关文章

网友评论

  • 无神:'websocket: connection error', 'The operation couldn’t be completed. Connection refused' 这个问题你遇到过吗?
  • 柯丕安德柯丕:哈哈 这个问题我暂时还没有遇到 你写的那个问题我遇到了。。。
    9beae41720b9:NSURL *jsCodeLocation = [RCTBundleURLProvider jsBundleURLForBundleRoot:@"index.ios" packagerHost:@"电脑的ip" enableDev:YES enableMinification:YES];
    5fab41b0fa8b:@zhuyuhui434 你是怎么解决的,我也遇到了这样的问题,我的直接收到异常信息,Error Domain=NSPOSIXErrorDomain Code=61 "Connection refused。这个是不是后端服务器没有启动导致的?还是参数配错了?

本文标题:WebSocket connection failed with

本文链接:https://www.haomeiwen.com/subject/derdkttx.html