2015-07-24 2 views
1

J'ai besoin de se connecter Node.js WebSocket à base d'une fenêtre C# sous forme de codeConnect node.js basé sur le serveur socket.io WebSocket d'un programme C#

module Node utilisé https://github.com/Automattic/socket.io

J'utilise superwebsocket et WebSocket4Net

using SuperSocket.Common; 
using SuperSocket.SocketBase; 
using SuperSocket.SocketBase.Config; 
using SuperSocket.SocketBase.Logging; 
using SuperWebSocket; 
using SuperWebSocket.SubProtocol; 
using WebSocket4Net; 

...... 
...... 

WebSocket webSocketClient = new WebSocket("ws://localhost:8080/"); 
webSocketClient.Error += new EventHandler<SuperSocket.ClientEngine.ErrorEventArgs>(webSocketClient_Error); 
webSocketClient.AllowUnstrustedCertificate = true; 
webSocketClient.Opened += new EventHandler(webSocketClient_Opened); 
webSocketClient.Closed += new EventHandler(webSocketClient_Closed); 
webSocketClient.MessageReceived += new EventHandler<MessageReceivedEventArgs>(webSocketClient_MessageReceived); 
webSocketClient.Open(); 

Mais seulement webSocketClient_Error rappel déclenche toujours, quelqu'un peut-il aider? La bibliothèque de

Répondre

6

Node.JS utilise un modèle d'URL différent, mais vous avez donné URL racine, S'il vous plaît changer votre URL comme suit alors il devrait fonctionner

WebSocket webSocketClient = new WebSocket("ws://localhost:8080/socket.io/?EIO=3&transport=websocket"); 
+0

Cool, je passais des heures, vous avez sauvé ma journée :) – Dickens

+0

@ZigmaEmpire pouvez-vous expliquer ou donner un pointeur où cela est expliqué s'il vous plaît? – fbenoit

+0

L'URL est identifiée en exécutant pratiquement le client socket.io javascript sur un navigateur Chrome et en regardant l'écran de trafic réseau fourni par le navigateur google chrome, il n'y a pas de documentation appropriée pour ce –