React-Native将Socket IO安全地连接到aws elb

时间:2018-06-14 04:47:14

标签: javascript reactjs react-native socket.io elastic-beanstalk

所以,我正在尝试将native native和socket io连接到我的aws elb服务器。

我可以在本地连接socket io,但不能远程连接到aws服务器。

我总是在我的控制台SocketRocket: In debug mode. Allowing connection to any root cert中收到此消息。根据我的理解,每当套接字尝试连接时都会出现此消息,但是失败。由于我将reconnectionAttempts设置为3,因此我会看到此消息3次。

这是我的代码:

// front end
  this.socket = io.connect(
  port, // https://api...
  {
    reconnection: true,
    reconnectionDelay: 500,
    secure: true,
    reconnectionAttempts: 3,
    transports: ["websocket"],
    rejectUnauthorized: false,
    jsonp: false
  }
);


// back end
  var port = process.env.PORT || 4000;
  const server = app.listen(port); // connects to express server

  const connectionOptions = {
    jsonp: false,
    secure: true,
    transports: ['websocket']
  }; 

  const io = socket(server, connectionOptions);

还有其他人遇到过这个问题吗?

任何见解都将不胜感激!

1 个答案:

答案 0 :(得分:0)

问题似乎在于使用aws elb设置套接字使用情况:https://anandhub.wordpress.com/2016/10/06/websocket-ebs/ https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

我最终用firebase替换了Socket io进行实时聊天。