2016-10-31 7 views
4

私はWindowsサービス開発の初心者であり、データを入力するためにポート8080でリッスンして解析するC#でビルドする必要があります。 System.Net.WebSocketsSystem.Net.Sockets、およびサードパーティライブラリの情報(SuperSocketなど)が見つかりました。 これはexampleですが、OnStart()の内容と私のWindowsサービスクラスのOnStop()の内容についてはわかりません。もう1つの例はhereですが、それはWindowsサービスに特化していません。基本的なWindowsサービス開発には、MSDN articleがあります。WebSocket Windowsサービスはポート8080でリッスンします

私は、これはOnStart()に行くと思っています:

Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP); 
serverSocket.Bind(new IPEndPoint(IPAddress.Any, 8080)); 
serverSocket.Listen(128); 
serverSocket.BeginAccept(null, 0, OnAccept, null); 

私はOnStop()に何を入れますか?

入ってくるデータストリームは認証を必要としません。私はまだ握手をする必要がありますか?

あなたのお手伝いがありがとうございます。

答えて

2

リスニングポートとしてポート8080を使用したいので、私はあなたが本質的にhttpトラフィックを処理していると仮定します。 rawソケットを使用する代わりに、OWIN Self Hosted Webサーバーを調べる必要があります。あるいは、NancyFxも同様に機能します。

OnStop()は、Windowsがサービスを停止しようとしたときに呼び出されます。あなたはサービスのための廃棄物と考えることができます。 OnStart()も同様に、初期化を行う関数です。私は、あなたが本当にいいライブラリTopShelfを調べて、Windowsサービスの作成を開始することをお勧めします。

関連する問題