Wednesday, 5 April 2017

Socket.io and Node.js not working on Heroku (=error code=H13 desc="Connection closed without response")

I'm building an iOS app using socket.io, and it works fine on my localhost. The problem comes when I deploy it to Heroku. I can not connect to heroku server.

Server logs

at=error code=H13 desc="Connection closed without response" method=GET path="/socket/?transport=websocket" host=my-app-dev.herokuapp.com request_id=e9c0a348-28d4-4c1c-b10e-175438dcd213 fwd="" dyno=web.1 connect=2ms service=3ms status=503 bytes=0 protocol=https

iOS Client

NSURL *url = [[NSURL alloc] initWithString:@"https://my-app-dev.herokuapp.com"];
self.socket = [[SocketIOClient alloc] initWithSocketURL:url config:@{@"log": @YES, @"forcePolling": @YES,@"path":@"/socket",@"forceWebsockets":@YES}];
[self.socket connect];

Server(node.js)

var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server, { path : '/socket'});
io.set('transports', ['websocket']);
io.on('connection', function(socket){
    socket.emit('hello', {'message': 'hello world'} ,() => {
      console.log('hello funliday user finished');
    });

    socket.on('disconnect', function () {
      console.log(socket.id + ' has disconnected!');
    });
});



via Willie Huang

No comments:

Post a Comment