0

レポートやその他の印刷ジョブがアプリケーション サーバーで生成され、CUPS 印刷キューに送信される SAAS アプリケーションがあります。キューは、IP 印刷を介してクライアント サイトのプリンターに印刷されます。これまでのところ、すべて正常に動作しています。

ただし、新しい顧客との新しい要件があります。彼らは、現在使用中のワークステーションに最も近いプリンタに印刷ジョブを印刷したいと考えています。これらは 8 台の共有ワークステーションのグループで、各ワークステーションの近くにはレーザー プリンターとサーマル ラベル プリンターの 2 台のプリンターがあります。プリンターはネットワークに接続されており、独自の IP アドレスを持っています。IP 印刷をサポートしています。

ユーザーが入ってくるので、開いているワークステーションを選択するだけです。プリンターをユーザーに結びつけることはできません。ワークステーションを特定し、近くにあるプリンターをマップするにはどうすればよいでしょうか。ワークステーションの ID を取得して、照会できる近くのプリンターを格納するデータベース テーブルを作成するのは簡単ですが、ワークステーションの ID を指定するにはどうすればよいでしょうか。

クッキー?ブラウザの履歴をすべて削除するとどうなりますか? 他のアイデア?

4

2 に答える 2

0

たぶん私はこれを誤解していますが、私が読んだことから、ワークステーションを特定するとすぐに近くのプリンターの静的マップを作成できますか? もしそうなら、ワークステーションの IP を識別子として使用してみませんか。HTTP リクエストから読み取るのは簡単です。

もう少しエキゾチックなソリューションについては。近くのプリンターが共通のルーター/スイッチを共有する可能性が高いという点で、ネットワーク設定がかなり形式的である場合は、SAAS サーバーからワークステーション (1) へのルートをトレースし、次に各プリンター (2) へのルートをトレースすることができます。次に、(1) と (2) を照合し、エンド IP に最も近いスイッチを持つものを見つけると、最も近いプリンターが得られます。

したがって、ワークステーション A とプリンター A が最も近くにあり、スイッチ B に接続されており、スイッチ B は数ホップ経由でスイッチ C に接続されており、サーバーが接続されている場所でもあるとします。

(1) 次のようになります。

Hop 1: Server IP 
Hop .....
Hop 2: Switch M
Hop .....
Hop n-1: Switch A
Hop m: Workstation A

(2) のルーターの 1 つは、最後の 2 つのホップを共有する必要があります。

Hop n: Switch A
Hop m: Workstation A

したがって、mn が最小の数値であるプリンターを考えてみましょう。

シンプルなので、私は確かに静的IPからプリンターへのソリューションに行きますが、それがオプションでない場合は、後者がおそらくあります. ただし、これは、ネットワーク設定が大規模で十分にフォーマルである場合に限られます。

HTH アレックス

于 2009-10-01T15:18:05.773 に答える
0

この手法を使用して、JavaScript を使用してクライアントの IP アドレスを取得し、それをサーバーに送り返すのはどうでしょうか。

http://www.gnucitizen.org/projects/javascript-address-info/

その後、IP を NAT 上のポートにマップし、一意のマッピングを作成できます。彼は実際にあなたの問題と非常によく似た問題について説明しています。

于 2009-10-01T20:37:03.100 に答える