6

SQL データベースに接続し、既存の C# ライブラリを使用する ASP.Net MVC アプリを作成しています。

XML経由でTCPメッセージを送受信するTCPサーバーWindowsアプリケーションもあります。これらすべてを処理するために node.js と socket.io を正常にセットアップし、サーバーとメッセージを送受信する html ページを作成しました。Node.js は現在、html ページを提供しています。XML は、データの送受信時に JSON に変換されます。

ページをアップするように MVC アプリを設定することを計画していますが、このクロス フレームワーク セットアップの使用についてどのように考えているのか疑問に思っていました。TCPメッセージを処理してブラウザに送信するための実行可能で優れたソリューションと思われますか? IIS でノードをホストするためのiisnodeについても読んだことがあります。これについてどう思いますか?

4

1 に答える 1

3

あなたは基本的に2つのウェブサイトを持っています。1 つは ASP.NET MVC Web サイトです。もう 1 つは、TCP Windows アプリケーションの Web クライアントです。

それらはばらばらなので、うまく機能します。

ASP.NET MVC を介してその Web クライアントの html サーバーを使用し、node.js でのみ websocket サーバーを実行したい場合があります。同じオリジンを機能させるには、プロキシを実行する必要がある場合があります。

IP Y、ポート X を実行している Web サーバーから HTML ページを提供し、IP Y、ポート X + n で実行されている node.js Websocket サーバーと通信しようとすると、同じオリジン制限に違反する可能性があります。

これは、基本的にサーバー A から socket.io クライアントをロードし、サーバー B と通信しようとしていることを意味します。Web ページは、これらのサーバーの両方を所有していることを知りません。

解決策はプロキシです。すべてのリクエストをサーバーAとBにプロキシしますが、それらはすべてプロキシを通過するため、同じオリジンに違反しません。

プロキシに関しては、nginxが1つです。node-proxyがあります。そして、IIS はそれをプロキシできるかもしれません (ただし、IIS が適切なプロキシになるとは思えません)。

于 2011-09-21T10:19:05.800 に答える