2017-03-03 4 views
0

私はsocket.io javascriptクライアントをwebsocketppを使ってcppに実装されたサーバに話しかけています。その驚くべきことは、socket.ioが必要なときに実際のWebSocketにフォールバックするように設定できないことです。 これに関するアイデアや提案はありますか? websocket npmに戻り、クライアントを再実装することが唯一の方法ですか?socket.io厳密にRFC6455を実装しているサーバと対話する

私はこれを試してみましたが、それは動作しません

var socket = io.connect('http://localhost:8080', { 
    transports: [ 
     'websocket', 
     'polling' 
    ] 
}); 
+0

websocketクライアントをJavascriptで記述するだけです。 APIは非常に簡単で、とても簡単です。私は時には[pleziフレームワークのクライアント](https://github.com/boazsegev/plezi/blob/99bbc16ed4ea434bb75da71a04490c298c5f9192/resources/client.js)を使用して調整します(私は元の作者ですから、私はそうしません。コードがやや乱雑であることに気をつけてください)。 – Myst

答えて

1

socket.ioはそうsocket.ioクライアントがONLY socket.ioサーバに話すことができるのWebSocketの上に追加のプロトコルです。 socket.ioはトランスポートにwebSocketを使用しますが、webSocketの上にある追加のレイヤーが正しく動作するようにサポートする必要があります。

プレーンなwebSocketサーバーと通信する場合は、プレーンなwebSocketクライアントを使用する必要があります。

var socket = new WebSocket('ws://localhost:8080'); 

// Connection opened 
socket.addEventListener('open', function (event) { 
    socket.send('Hello Server!'); 
}); 

// Listen for messages 
socket.addEventListener('message', function (event) { 
    console.log('Message from server', event.data); 
}); 

あなたはsocket.ioを話すために、物事のサーバー側を修正したい場合は、おそらく、CPPのためのsocket.ioサーバモジュールを見つけることができます。

+1

@ak - これはあなたの質問に答えましたか? – jfriend00

+0

1年後に返答しましたが、助けてくれました.Socket.ioクライアントからWebSocketクライアントにダウングレードしてWebSocketベースのサーバーと通信しました –

関連する問題