2016-07-12 9 views
0

ウェブソケットを使用して、異なるマシン上の2つのWindowsサービスがデータを前後に渡すことを許可しています。私が見つけたほとんどすべての例や情報は、クライアント/サーバーサイド通信用のWebソケットの使用に関するものです。私はこれを設定する方法を考え出すのに苦労しています。私は、WebSocketHostをMicrosoft.ServiceModel.WebSocketsの一部として使用することを検討しましたが、URLではなくローカルポートにバインドする方法が不明です。WindowsのネットWebソケット

はいずれも任意の提案

おかげ

答えて

0

を持っていますあなたは本当にこの本には長い時間がかかりますので、ご自身のWebSocketフレームワークを作成したくないSignalRセルフホストを使用することができます。 ここでは、WindowsサービスでOWINサーバーを起動する方法のリンクを示します。 Hosting WebAPI using OWIN in a windows service と自己ホストにsignalRを設定する方法 Tutorial: SignalR Self-Host

0

あなたはファイルのマップされたメモリでこれを達成することができます。

Inter-Process Communication with Memory-Mapped Files

+0

共有メモリがないため、メモリマップされたファイルがネットワーク上で動作するとは思えません。 OPが "異なるマシンで"指定されました –

0

私は別のマシン上の2つのWindowsサービスが前後にデータを渡すことができるように、ウェブソケットを使用しようとしています。

ソケットは、見つかったWebSocketを使用して両方のマシンで開くことができます。この例ではクライアントとサーバーについて言及していますが、これは一般的な使用法ですが、APIは実際には気にしません。それぞれの側がリスナーと送信者を持っている限り、彼らは通信することができます。

しかし、両方のマシンが常に利用できるわけではないので、これは簡単ではありません。時にはどちらか一方がビジーであるか、ネットワークがブロックされている、または何か他のことが起こっている、またはリスナーがすぐに応答できないため、両側に何らかの並べ替えが必要になります。

一方の側がもう一方の「私はXを望んでいる」というプロセスベースの操作を行っていて、ドキュメントを作成するような大きな操作であると、データベースにキューを作成するのがはるかに復元力があり、そこにリクエストを投げ、相手側がレコードを更新して完了したと言うのを待ちます。

利用可能な場合は、MSMQがより小さく、より高速な要求であれば、MSMQが適切になります。

しかし、元の質問に戻って、それを使用したい場合は、どのクライアントサーバーの例もうまくいくはずです。 APIは気にしません。

関連する問題