2017-12-15 17 views
1

C#consoleでは、Node.jsを使用せずにブラウザでWebソケットを開くことは可能ですか?意味、アクティブで開いているC#コンソールアプリケーション。サーバー上では常に実行されており、リアルタイムでブラウザとの間でメッセージを送受信できます。C#コンソールアプリケーションとブラウザ間のWebソケット

私は、socket.io.js JSファイル(https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js)をロードし、TcpListenerクラスを使用してC#コンソールアプリケーションを作成するブラウザを使用しようとしました。そして、成功した接続があるようです。しかし、私はサーバーとクライアントの間でメッセージを送信することはできません。

+0

はい、可能ですが、専用のwebsocketライブラリを使用し、raw TcpListenerは使用しないでください。 – Evk

+0

はい、あなたは[redHttpServer](https://www.nuget.org/packages/RHttpServer/)またはSignalRをprogrammerjのように使用することができます。これにはさまざまなライブラリがありますので、TcpListenerクラスの代わりにこれらのライブラリの1つを使用してください。そのため、WebSocket procotolを自分で実装する必要があります。 –

+0

サイドノート:あなたの質問を読んでいるように、C#アプリケーションをブラウザに接続しようとしているようです。 Websocketでは、ブラウザがサーバーへの接続を開く必要があるため、これは不可能です。あなたのC#アプリケーションは確実にWebsocket接続を聞くことができますが、それを開始することはできません。私はこれがあなたが実際に意味していたものだと確信していますが、あなたの質問を書いたやり方はちょっと混乱しています。 – Myst

答えて

0

はい、私はそれを何回もやりました。

C#console/Windowsサービス:SignalRライブラリを使用します。 NuGet経由で入手できるはずです。

Webアプリケーション:jquery.signalr-x.x.x.jsライブラリを使用します。

SignalRは主に、.NETアプリケーションのSignalRハブとWebアプリケーションのjquery.signalrクライアントライブラリとの間にWebSocket接続を確立する必要があります。

関連する問題