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']);
을 그리고 클라이언트에 추가 :
동료는 서버에서 사용할 수있는 socket.io 클라이언트 라이브러리를 가져와야합니다. Socket.io는 webSocket 위에 자체 프로토콜이기 때문에 socket.io 서버에 연결할 수 있으려면 socket.io 호환 클라이언트 라이브러리가 필요합니다. 나는 – jfriend00
를 본다. 문제는 FME 서버에서 코딩 작업을 할 수 없다는 것입니다. 따라서 socket.io 클라이언트를 설정할 수있는 방법이 없습니다. 좋은 점은 우리가 파이썬 스크립트를 FME 서버에 배포 할 수 있다는 것입니다. 파이썬 socket.io 클라이언트가 node.js에 생성 된 socket.io 서버에 연결할 수 있습니까? – zhangjinzhou
예, python에는 socket.io가 지원됩니다. – jfriend00