2017-04-01 1 views
1

Ich habe einen node.js-Server und ich habe socket.io-Listener an ihn angeschlossen. Der Code ist so.Kann ich mit der generischen Methode eine Verbindung zum socket.io-Server herstellen?

Normalerweise verwende ich den Standard Weg, um den Websocket Server zu verbinden. Ein Beispiel ist wie folgt:

<!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> 

Es funktioniert ohne Problem. Jetzt möchte sich mein Kollege von seinem FME-Server aus mit dem Websocket-Server verbinden. Auf der Grundlage seiner Forschung, er ist der einzige Weg, um eine Verbindung zu einem WebSocket-Server verwenden können, ist eine URL wie folgt aus:

ws://localhost:3000/websocket 

Meine Frage ist: Gibt es eine Möglichkeit, mit dieser Art Socket.io Server Hörer zu verbinden von Schnur?

Wenn nicht, gibt es eine Möglichkeit, einen Websocket-Server mit ws://host:port URL zu erstellen und auch an meinen node.js-Server anzuhängen?

Oder gibt es eine Möglichkeit, eine Verbindung zu Socket.io Listener in FME-Server herzustellen?

+1

Ihr Kollege benötigt eine socket.io-Clientbibliothek, die er von seinem Server verwenden kann. Socket.io ist ein eigenes Protokoll über webSocket, daher benötigen Sie eine socket.io-kompatible Client-Bibliothek, um eine Verbindung zu einem socket.io-Server herstellen zu können. – jfriend00

+0

Ich sehe. Das Problem ist, dass er auf seinem FME-Server keine Programmierarbeit leisten kann. Daher kann er keinen socket.io-Client einrichten. Ein gutes neues ist, dass wir ein Python-Skript auf dem FME-Server bereitstellen können. Kann ein python-socket.io-Client eine Verbindung zu meinem socket.io-Server herstellen, der in node.js erstellt wurde? – zhangjinzhou

+0

Ja, es gibt socket.io Unterstützung in Python. – jfriend00

Antwort

0

Socket.IO zu sagen WebSocket verwenden nur, fügen Sie diese auf dem Server:

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

Und auf dem Client fügen Sie diese:

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

Jetzt können Sie nur auf die WebSocket-Server verbinden mit ws Protokoll.

+0

Er muss noch einen Client richtig erstellen? Er kann jedoch keine Codierung machen. – zhangjinzhou

Verwandte Themen