2015-07-24 2 views
1

мне нужно подключить WebSocket на основе Node.js из C# окна кода формы модульConnect node.js на основе сервера socket.io WebSocket из C# программы

Узел используется https://github.com/Automattic/socket.io

Я использую superwebsocket и 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(); 

Но только webSocketClient_Error обратного вызова срабатывает всегда, может кто-нибудь помочь?

ответ

6

Node.js Socket.io библиотека использует другой шаблон URL, но вы дали корень URL, пожалуйста, измените URL следующим образом, то он должен работать

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

Круто, я проводил часы, вы спасли мой день :) – Dickens

+0

@ ZigmaEmpire вы можете объяснить или дать указатель, где это объясняется, пожалуйста? – fbenoit

+0

URL-адрес идентифицируется путем фактического выполнения javascript-клиента socket.io на браузере Chrome и просмотра экрана сетевого трафика, предоставляемого браузером google chrome, нет соответствующей документации для этого –

Смежные вопросы