2014-10-17 2 views
1

내가Socket.io 1.1 -

var socket=io.connect(url,data); 

서버

io.on('connection',function(socket){ 
    //get data here in the socket object or in other way 
}) 

내가 데이터가 될 수 있다는 것을 알고이

클라이언트 유사한 기능을 원하는 처음 연결할 때 클라이언트에서 데이터를 어떻게 전송하기 연결 후 방출하여 얻은 것이지만 처음에 연결할 때 데이터를 보낼 수있는 방법이 있는지 알고 싶습니다.

+0

내가이 권리를 얻는다면, 당신은'socket.emit'을 사용하지 않기를 원합니까? 나는 그런 식으로 연결하는 동안 데이터를 방출하는 것이 가능하지 않다고 생각합니다. [두 번째 인수는 옵션을가집니다.] (http://socket.io/docs/client-api/#manager%28url:string,-opts:object%29). 호기심에서 왜 이걸하고 싶니? – laggingreflex

+0

저장 목적으로 연결할 때 사용자의 신원을 확인하고 싶습니다. 사용자의 신원을 알려주고 싶지 않습니다. – ma08

답변

3

당신이 할 수있는 최선은 당신을 passport.socketio를 사용하는 경우 서버

io.on('connection',function(socket){ 
    var data = socket.handshake.query.data; // => "value" 
}); 

또는에 socket.handshake.query에서 사용할 수의 URL

var socket = io.connect(url + "?data=value"); 

와 함께 통과 데이터입니다 사용자를 식별하려면 socket.request.user이 있어야합니다.

+0

감사합니다. 예상대로 작동합니다. passport.socketio도 살펴볼 것입니다. – ma08