2016-03-30 5 views
0

Webページのデータを、ブラウザが実行されているのと同じクライアントPC上で動作するC#アプリケーションに渡すことができるソリューションを実装したいと考えています。いくつかの調査の結果、TCPリスナまたはHTTPリスナを使用すると、そのようなシステムを実装できることが判明しました。リスナーがAjaxリクエスト/ポストを作成し、これらのリクエストをキャッチすると、リクエスト内のデータにアクセスできます。TCPリスナーまたはHTTPリスナーを使用するIISと一緒に

私は、小さなテストアプリケーションとHoorayを書くために出発しました、それは動作します!私はhere(see answer)というコードを使って、シンプルなTCPリスナを実装し、ブラウザを開き、http://localhost:8090/にナビゲートして、リスナが応答したデータを見ました。これはすばらしいことですが、今のところ私は、このリスナーが私のIISサーバー(または私のwepアプリケーションをホストする実際のサービス)と一緒に作業する必要があるという問題があります。

私は基本的なhtmlページを作成し、それをIIS上のサイトとして追加し、ブラウザーでテストして動作するかどうかを確認したので、単にhttp://localhost:8081/index.htmlに移動してテストページが表示されました。それでいいですか?リスナーが聞いているポートを8090から8081に変更しました。これはIISが自分のサイトをホストするために使用しているポートです。新しいポートでリスナーを起動しようとすると、 "An attempt was made to access a socket in a way forbidden by its access permissions " IISがこの問題を引き起こしているのですか、または私が間違ったコンテキストでそれを使用しているため、私がしようとしていることは何のためにも機能しません。

私はHTTPリスナーを使用していますが、HTTPリスナーの例では、単純にHTTPサーバーを作成してブラウザに実際にHTMLやその他のリソースを提供する個人があります。(e.g. here)。私が望むのは、以前にリンクされたスレッドで言及されたコードのHTTPリスナ実装です。概要で

:私は私の紹介...implement a solution where I can pass data from my web page to a C# Application...で述べたように、私の最終目標は、私がHTTPまたはTCPリスナーを使用している場合は問題ではありません、私のWebページからの私のC#のアプリへの通信を実現することです。

+0

特定のポートで一度に1つのアプリケーションだけをリッスンすることができます。つまり、HTTPサーバーとTCPサーバーは別々のポートでリッスンする必要があります。 http:// localhost:8090 /には、クライアント側の通常のAJAXを使用してデータを送受信しますが、通信するには同じポートにする必要はありません。同じドメインのみ –

+0

@JonathanBrooksはエラーがポートの使い方についてまた、私があなたを正しく理解していれば、リスナーとの実例もあります。ですから、あなたは変数をC#に渡す方法を知っています。 –

答えて

0

解決策によって見つけた。here。 HTTPリスナーを使用し、特定のURLとポートに対して行われたajax投稿を待って処理することによって。

関連する問題