1

I'm starting out with Socket.io, I made a quick example app and most things seemed to be working. However, when I tested it on a different PC in the office, it doesn't work. I've not been able to identify the problem or a common element. It works on an iMac in chrome and firefox, and a Windows machine running Firefox 15.0.1.

However on 2 other machines it does not work, they run Firefox 15.0.1 and the latest chrome. They can connect and receive broadcasts, but they won't send any broadcasts.

The example app provided with socket.io faces the same issues, so I know that my code isn't the issue.

The server is a rackspace virtual machine. The computers all share the same IP address, would this be the problem?

Thanks.

Connection I5m-GX0YxKk-fsqkaDYr accepted.
debug - emitting heartbeat for client I5m-GX0YxKk-fsqkaDYr
debug - websocket writing 2::
debug - set heartbeat timeout for client I5m-GX0YxKk-fsqkaDYr
debug - got heartbeat packet
debug - cleared heartbeat timeout for client I5m-GX0YxKk-fsqkaDYr
debug - set heartbeat interval for client I5m-GX0YxKk-fsqkaDYr
debug - client authorized
info  - handshake authorized 2_OfnBCUPoO1TuWUaDYs
debug - setting request GET /socket.io/1/websocket/2_OfnBCUPoO1TuWUaDYs
debug - set heartbeat interval for client 2_OfnBCUPoO1TuWUaDYs
debug - client authorized for 
debug - websocket writing 1::
Connection 2_OfnBCUPoO1TuWUaDYs accepted.
debug - setting request GET /socket.io/1/xhr-polling/2_OfnBCUPoO1TuWUaDYs?t=1347888419067
debug - setting poll timeout
debug - discarding transport
debug - cleared heartbeat interval for client 2_OfnBCUPoO1TuWUaDYs
debug - emitting heartbeat for client I5m-GX0YxKk-fsqkaDYr
debug - websocket writing 2::
debug - set heartbeat timeout for client I5m-GX0YxKk-fsqkaDYr
debug - got heartbeat packet
debug - cleared heartbeat timeout for client I5m-GX0YxKk-fsqkaDYr
debug - set heartbeat interval for client I5m-GX0YxKk-fsqkaDYr
debug - setting request GET /socket.io/1/jsonp-polling/2_OfnBCUPoO1TuWUaDYs?   t=1347888429074&i=0
debug - setting poll timeout
debug - discarding transport
debug - clearing poll timeout
debug - clearing poll timeout
debug - jsonppolling writing io.j[0]("8::");
debug - set close timeout for client 2_OfnBCUPoO1TuWUaDYs
debug - jsonppolling closed due to exceeded duration
debug - emitting heartbeat for client I5m-GX0YxKk-fsqkaDYr
debug - websocket writing 2::
debug - set heartbeat timeout for client I5m-GX0YxKk-fsqkaDYr
debug - got heartbeat packet
debug - cleared heartbeat timeout for client I5m-GX0YxKk-fsqkaDYr
debug - set heartbeat interval for client I5m-GX0YxKk-fsqkaDYr
debug - setting request GET /socket.io/1/jsonp-polling/2_OfnBCUPoO1TuWUaDYs?t=1347888449506&i=0
debug - setting poll timeout
debug - discarding transport
debug - cleared close timeout for client 2_OfnBCUPoO1TuWUaDYs
^Croot@nodejs:~# node socket
info  - socket.io started
debug - client authorized
info  - handshake authorized R840LL5ZZes1YFB_aZS8
debug - discarding transport
debug - jsonppolling received data packet �17�3:::Hello Server!�17�3:::Hello Server!
debug - client authorized
info  - handshake authorized ycWCnVfgTTLAdi0maZS9
debug - client authorized
info  - handshake authorized av8ttHujRRMUNdZWaZS-
debug - setting request GET /socket.io/1/websocket/av8ttHujRRMUNdZWaZS-
debug - set heartbeat interval for client av8ttHujRRMUNdZWaZS-
debug - client authorized for 
debug - websocket writing 1::
Connection av8ttHujRRMUNdZWaZS- accepted.
^Croot@nodejs:~# node socket
info  - socket.io started
debug - client authorized
info  - handshake authorized tod2RUk4cC6njt7_ab1d
debug - setting request GET /socket.io/1/websocket/tod2RUk4cC6njt7_ab1d
debug - set heartbeat interval for client tod2RUk4cC6njt7_ab1d
debug - client authorized for 
debug - websocket writing 1::
Connection tod2RUk4cC6njt7_ab1d accepted.
debug - client authorized
info  - handshake authorized Bm2b5koW4OhwMN0Uab1e
debug - setting request GET /socket.io/1/websocket/Bm2b5koW4OhwMN0Uab1e
debug - set heartbeat interval for client Bm2b5koW4OhwMN0Uab1e
debug - client authorized for 
debug - websocket writing 1::
Connection Bm2b5koW4OhwMN0Uab1e accepted.
debug - setting request GET /socket.io/1/xhr-polling/Bm2b5koW4OhwMN0Uab1e?t=1347888478540
debug - setting poll timeout
debug - discarding transport
debug - cleared heartbeat interval for client Bm2b5koW4OhwMN0Uab1e
debug - emitting heartbeat for client tod2RUk4cC6njt7_ab1d
debug - websocket writing 2::
debug - set heartbeat timeout for client tod2RUk4cC6njt7_ab1d
debug - got heartbeat packet
debug - cleared heartbeat timeout for client tod2RUk4cC6njt7_ab1d
debug - set heartbeat interval for client tod2RUk4cC6njt7_ab1d
debug - setting request GET /socket.io/1/jsonp-polling/Bm2b5koW4OhwMN0Uab1e?t=1347888488546&i=0
debug - setting poll timeout
debug - discarding transport
debug - clearing poll timeout
4

1 回答 1

0

我部分解决了这个问题。一个防病毒程序阻止了一些机器上的 Web 套接字连接。我花了一段时间才发现这个问题,因为http://websocketstest.com/显示所有端口都是打开的,并且软件显示没有防火墙处于活动状态。但是,当退出防病毒程序时,一切又开始工作了。

不知道为什么http://websocketstest.com/显示所有端口都是打开的。暂时切换到 843 端口。

谢谢

于 2012-09-18T15:40:45.133 回答