、
私は理由はあなたのプリンタが設置されていることだと思う:
EDIT: これは私が開発して印刷することにし、私のプリンタがローカルであるので、それが動作要求であるにあなたが開発しているのと同じネットワーク上にここでの主な問題はIPアドレスです。ほとんどのローカルネットワークは192.168.XXX.XXXで始まるIPアドレスを持っているため、ネットワーク上のプリンタにも同じ範囲のIPアドレスが含まれています。
は想定します:プリンタ=> 192.168.1.100開発マシン=> 192.168.1.45
これらのマシンの両方が同じネットワーク上にあるので、それらが互いに通信することができます。プロバイダと一緒にウェブサイトをホストすると、ウェブサイトのIPアドレスはマシンのIPアドレスと同じにならなくなります。新しいIPアドレス10.1.57.221を受け取ったとしましょう。
は、だから今、あなたのウェブサイトは、あなたのLAN外のIPをホストされていると、プリンタはLAN上ではまだです。ホストされたWebサイトから印刷要求がhttp://192.168.1.100/StarWebPRNT/SendMessage
になったときに応答が出された場合は、200回のリクエストの代わりに404または接続のタイムアウトが発生する可能性が非常に高いです。この問題を解決するために
1つの方法は、LAN内のサーバー上のウェブサイトをホストするが、他の人がネットワークの外部からWebサイトにアクセスできるように、パブリックIPアドレスと、そのコンピュータを提供することです。印刷が要求されると、この場合には確実にプリンタを見つけることができます。
もう一つの方法は、IPアドレスを知っている誰もが、プリンタへの印刷要求を発行することができるようにホスティングプロバイダとホスティング続けるが、プリンタへのパブリックIPを割り当てることです。こうすることで、あなたのウェブサイトはプリンタに印刷物を要求することができます。
あなたのウェブサイトが本当に任意のプリンタへのアクセス権を持っていない、それはブラウザからの印刷を行いOSですか? – adeneo
@adeneo私は自分のプリンタで印刷するようにWebリクエストをしています。それはOSから印刷されていません。そうではありません。領収書プリンタは、Web要求印刷を許可するためにこの技術を提供しています。 – echan00
あなたのウェブサイトは、HTTP 'からホストされていない限り:// 192.168.1.100 /'、([同一生成元ポリシー]を渡しません要求https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)(ローカルエリアネットワークはSOPの結果を変更しません)、[いくつかの例外の1つを満たす]必要があります(https://stackoverflow.com/questions/3076414/ways-to -circumvent-the-same-origin-policy)、またはSOPが適用されないサーバー側で行うことができます。 CORSとJSON-Pという2つのオプションのうち、プリンターのWebサーバーが明示的にサポートを提供する必要があることに注意してください。 –