2010-12-21 5 views
0

socket.io를 설정하려고하는데 90 % 확신 할 수없는 문제가 있습니다. 내 서버를 돌리고 있는데, 연결되면 2 ~ 3 초 후에 새로운 고객이 몰리게된다. 내 터미널 출력은 다음과 같습니다.Socket.io 문제 : 'xhr-polling'을 사용하여 많은 클라이언트 초기화하기

21 Dec 17:36:53 - socket.io ready - accepting connections 
21 Dec 17:37:13 - Initializing client with transport "websocket" 
21 Dec 17:37:13 - Client 4786583543755114 connected 
21 Dec 17:37:18 - Client 4786583543755114 disconnected 
21 Dec 17:37:18 - Initializing client with transport "xhr-polling" 
21 Dec 17:37:18 - Client 377916906028986 connected 
21 Dec 17:37:18 - Initializing client with transport "xhr-polling" 
21 Dec 17:37:18 - Client 3885312571655959 connected 
21 Dec 17:37:18 - Initializing client with transport "xhr-polling" 
21 Dec 17:37:18 - Client 38271573395468295 connected 

그리고 훨씬 더 많은 1-2 초마다. 저는 사파리를 사용하고 있습니다. 사파리는 웹 소켓을 지원하며 첫 번째 응답에서 분명합니다.

server = http.createServer(function(req, res){ 
    // your normal server code 
    res.writeHead(200, {'Content-Type': 'text/html'}); 

    var path = url.parse(req.url).pathname; 

    // console.log(__dirname + path); 
    fs.readFile(__dirname + path, function(error, data) { 
     res.end(data); 
    }); 


}); 

server.listen(80); 

// socket.io, I choose you 
var socket = io.listen(server); 

socket.on('connection', function(client){ 
    // new client is here! 
    client.on('message', function(){ }); 
    client.on('disconnect', function(){ }); 
}); 

.. 그리고 클라이언트 코드 :

<script> 

     var socket = new io.Socket(); 
     socket.connect(); 

     socket.on('message', function(obj){ 
      alert('got some data ' + obj); 
     }); 

     socket.on('connect', function() { 
      console.log("We've connected!"); 
      socket.send('some data'); 
     }) 


    </script> 

모든 리드 또는 도움이 환상적 일 것

여기 내 서버 코드입니다. 감사!

답변

2

HTML5 문서 형식을 고객의 맨 위에 추가하는 것을 잊지 마세요.

+0

나는 이런 문제가 없었지만 다시 사파리를 테스트하지 않았다. 나는 구글 크롬/파이어 폭스를 테스트했다. – Alfred

관련 문제