yii-node-socket icon indicating copy to clipboard operation
yii-node-socket copied to clipboard

client not receiving message

Open jpodpro opened this issue 8 years ago • 6 comments

i am receiving error in the log:

handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server

here is more log info:

info: socket.io started Listening yewbeats.com:3001 Set origin: : debug: client authorized info: handshake authorized IvDSwViz2cKpewCK66-t debug: setting request GET /socket.io/1/websocket/IvDSwViz2cKpewCK66-t debug: set heartbeat interval for client IvDSwViz2cKpewCK66-t debug: client authorized for debug: websocket writing 1:: debug: client authorized for /client debug: websocket writing 1::/client debug: client authorized info: handshake authorized kcCuZ8h0mIA0EKcj66-u debug: setting request GET /socket.io/1/websocket/kcCuZ8h0mIA0EKcj66-u debug: set heartbeat interval for client kcCuZ8h0mIA0EKcj66-u debug: client authorized for debug: websocket writing 1:: debug: client unauthorized for /server warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined info: transport end (undefined) debug: set close timeout for client kcCuZ8h0mIA0EKcj66-u debug: cleared close timeout for client kcCuZ8h0mIA0EKcj66-u debug: cleared heartbeat interval for client kcCuZ8h0mIA0EKcj66-u debug: discarding transport debug: client authorized info: handshake authorized V6WjR6pZvuIBlJyQ66-v debug: setting request GET /socket.io/1/websocket/V6WjR6pZvuIBlJyQ66-v debug: set heartbeat interval for client V6WjR6pZvuIBlJyQ66-v debug: client authorized for debug: websocket writing 1:: debug: client unauthorized for /server warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined info: transport end (undefined) debug: set close timeout for client V6WjR6pZvuIBlJyQ66-v debug: cleared close timeout for client V6WjR6pZvuIBlJyQ66-v debug: cleared heartbeat interval for client V6WjR6pZvuIBlJyQ66-v debug: discarding transport debug: client authorized info: handshake authorized 65gtM6GHOak1NfZd66-w debug: setting request GET /socket.io/1/websocket/65gtM6GHOak1NfZd66-w debug: set heartbeat interval for client 65gtM6GHOak1NfZd66-w debug: client authorized for debug: websocket writing 1:: debug: client unauthorized for /server warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined info: transport end (undefined)

etc etc.

here is my config:

'nodeSocket' => [
    'class' => '\YiiNodeSocket\NodeSocket',
    'host' => 'yewbeats.com',
    'allowedServerAddresses' => [
        "yewbeats.com",
        "localhost",
        "127.0.0.1"
    ],
    'origin' => '*:*',
    'sessionVarName' => 'PHPSESSID',
    'port' => 3001,
    'socketLogFile' => 'console/runtime/logs/node-socket.log',
]

here is PHP action:

public function actionImport()
{
    $session = Yii::$app->session;
    if( !$session->isActive )
    {
        $session->open();
    }

    $event = Yii::$app->nodeSocket->getFrameFactory()->createEventFrame();
    $event->setEventName( 'event.example' );


    for( $i=0; $i<10; $i++ )
    {
        $event['data'] = ['wizzy: '.$i];
        $event->send();
        sleep( 1 );
    }
}

here is javascript:

// create object
var socket = new YiiNodeSocket();

// enable debug mode
socket.debug(true);

socket.onConnect( function()
{
    console.log( 'on connect' );

    socket.on( 'event.example', function( data )
    {
        console.log( 'event example data: ', data );
    });
    // fire when connection established
});

jpodpro avatar Apr 03 '16 06:04 jpodpro

Hi, you have wrong configuration, server ip, domain list

host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined 3 апр. 2016 г. 9:54 пользователь "jpodpro" [email protected] написал:

i am receiving error in the log:

handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server

here is more log info:

debug: client authorized for /client debug: websocket writing 1::/client debug: client authorized info: handshake authorized PPAZ3f-6N7R_2sQavymO debug: setting request GET /socket.io/1/websocket/PPAZ3f-6N7R_2sQavymO debug: set heartbeat interval for client PPAZ3f-6N7R_2sQavymO debug: client authorized for debug: websocket writing 1:: debug: client unauthorized for /server warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined info: transport end (undefined) debug: set close timeout for client PPAZ3f-6N7R_2sQavymO debug: cleared close timeout for client PPAZ3f-6N7R_2sQavymO debug: cleared heartbeat interval for client PPAZ3f-6N7R_2sQavymO debug: discarding transport debug: client authorized info: handshake authorized ckBnpamS7kHnQx9ZvymP debug: setting request GET /socket.io/1/websocket/ckBnpamS7kHnQx9ZvymP debug: set heartbeat interval for client ckBnpamS7kHnQx9ZvymP debug: client authorized for debug: websocket writing 1:: debug: client unauthorized for /server warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined info: transport end (undefined) debug: set close timeout for client ckBnpamS7kHnQx9ZvymP debug: cleared close timeout for client ckBnpamS7kHnQx9ZvymP debug: cleared heartbeat interval for client ckBnpamS7kHnQx9ZvymP debug: discarding transport debug: client authorized info: handshake authorized p1CoNw8mSYszEcYwvymQ debug: setting request GET /socket.io/1/websocket/p1CoNw8mSYszEcYwvymQ debug: set heartbeat interval for client p1CoNw8mSYszEcYwvymQ debug: client authorized for debug: websocket writing 1:: debug: client unauthorized for /server warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined info: transport end (undefined) debug: set close timeout for client p1CoNw8mSYszEcYwvymQ debug: cleared close timeout for client p1CoNw8mSYszEcYwvymQ debug: cleared heartbeat interval for client p1CoNw8mSYszEcYwvymQ debug: discarding transport debug: client authorized info: handshake authorized X77cQ6vuxQDj1bluvymR debug: setting request GET /socket.io/1/websocket/X77cQ6vuxQDj1bluvymR etc etc.

here is my config:

'nodeSocket' => [ 'class' => '\YiiNodeSocket\NodeSocket', 'host' => 'yewbeats.com', 'allowedServerAddresses' => [ "yewbeats.com", "localhost", "127.0.0.1" ], 'origin' => ':', 'sessionVarName' => 'PHPSESSID', 'port' => 3001, 'socketLogFile' => 'console/runtime/logs/node-socket.log', ]

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/oncesk/yii-node-socket/issues/77

oncesk avatar Apr 03 '16 07:04 oncesk

can you please explain better?

jpodpro avatar Apr 03 '16 07:04 jpodpro

i have the same problem

warn: handshake error INVALID SERVER: server host ::ffff:127.0.0.1 not allowed for /server debug: websocket writing 7::/server:undefined

can anyone help ?

dawidskowron avatar May 03 '16 19:05 dawidskowron

Hi, so, as you can see here https://github.com/oncesk/yii-node-socket/blob/master/lib%2Fjs%2Fserver%2Fserver.js#L127 we are checking if client can connect to socket in server namespace, for doing this we have configuration in our Yii application its called as allowedServers

allowedServers - this means that which remote servers can connect to the socket and trigger some event

you use ipv6 address for fixin this just add ::ffff:127.0.0.1 to allowedServerAddresses in you configuration, see example below

        'nodeSocket' => [
            'class' => '\YiiNodeSocket\NodeSocket',
            'host' => 'localhost',
            'allowedServerAddresses' => [
                "localhost",
                "127.0.0.1",
                "::ffff:127.0.0.1"
            ],
            'origin' => '*:*',
            'sessionVarName' => 'PHPSESSID',
            'port' => 3001,
            'socketLogFile' => '/var/log/node-socket.log',
        ],

after that resstart server and try again

oncesk avatar May 03 '16 19:05 oncesk

my answer helped you?

oncesk avatar May 04 '16 06:05 oncesk

yes, thank u

dawidskowron avatar May 04 '16 08:05 dawidskowron