2017-04-01 3 views
1

node.js 서버가 있고 socket.io 수신기가 연결되어 있습니다. 코드는 다음과 같습니다.일반적인 방법으로 socket.io 서버에 연결할 수 있습니까?

const server = new Hapi.Server(); 
    server.connection({ 
     "port": config.port 
    }); 

let io = socketio(server.listener); 
io.on("connection", function(socket) { 
     console.log("A user connected"); 

     socket.on("disconnect", function(){ 
      console.log("A user disconnected"); 
     }); 

     // receive message from client 
     socket.on("client-server", function(msg) { 
      console.log(msg); 
     }); 
    }); 

// somewhere to emit message 
io.emit("server-client", "server to client message"); 

일반적으로 websocket 서버에 연결하는 표준 방법을 사용합니다. 예를 들면 다음과 같습니다.

<!DOCTYPE html> 
<html> 
    <head><title>Hello world</title></head> 
    <script src="http://localhost:3000/socket.io/socket.io.js"></script> 
    <script> 
    var socket = io(); 
    socket.on('server-client', function(data) {document.write(data)}); 
    socket.emit('client-server', 'test message'); 
    </script> 
    <body>Hello world</body> 
</html> 

문제없이 작동합니다. 이제 동료는 FME 서버의 websocket 서버에 연결하려고합니다. 그의 연구를 바탕으로, 자신이 사용할 수있는 유일한 방법은이 같은 URL을 사용하는 웹 소켓 서버에 연결하기 :

ws://localhost:3000/websocket 

내 질문은 :이 유형을 사용하여 서버의 리스너를 Socket.IO에 연결할 수있는 방법이 문자열의?

그렇지 않은 경우 ws://host:port url을 사용하여 websocket 서버를 만들고 내 node.js 서버에 연결할 수 있습니까?

또는 FME 서버의 socket.io 수신기에 연결하는 방법이 있습니까?

io.set('transports', ['websocket']); 

을 그리고 클라이언트에 추가 :

+1

동료는 서버에서 사용할 수있는 socket.io 클라이언트 라이브러리를 가져와야합니다. Socket.io는 webSocket 위에 자체 프로토콜이기 때문에 socket.io 서버에 연결할 수 있으려면 socket.io 호환 클라이언트 라이브러리가 필요합니다. 나는 – jfriend00

+0

를 본다. 문제는 FME 서버에서 코딩 작업을 할 수 없다는 것입니다. 따라서 socket.io 클라이언트를 설정할 수있는 방법이 없습니다. 좋은 점은 우리가 파이썬 스크립트를 FME 서버에 배포 할 수 있다는 것입니다. 파이썬 socket.io 클라이언트가 node.js에 생성 된 socket.io 서버에 연결할 수 있습니까? – zhangjinzhou

+0

예, python에는 socket.io가 지원됩니다. – jfriend00

답변

0

전용 웹 소켓을 사용하는 Socket.IO 말하려면 서버에 추가

이제
var socket = io({transports: ['websocket']}); 

는 경우에만 웹 소켓 서버에 연결할 수 있습니다 ws 프로토콜을 사용합니다.

+0

그는 여전히 클라이언트 권한을 만들어야합니까? 그러나 그는 코딩을 할 수 없습니다. – zhangjinzhou

관련 문제