TCPServer.new(port)は、ローカルホストまたはリモートマシンからの要求を処理できるサーバーを作成します。RubyのGServerはローカルホストのみで作業したい
しかし、Ghost.new(port)は、localhostからの要求のみを処理できるサーバーを作成します。
GServerのソースを見ると、TCPServer.new(@ host、@ port)が呼び出されます。 @hostのデフォルト値はDEFAULT_HOSTで、127.0.0.1です。
TCPServer.newのソースは言う:
# TCPServer.new([hostname,] port) => tcpserver
# Creates a new server socket bound to _port_.
# If _hostname_ is given, the socket is bound to it.
私はGServerを使用しますが、特定のホスト名にバインドしないようにしたいと思います。そんなことは可能ですか?ウェブ上のすべての例は、localhostのみを使用しています。
GServerにホストが指定されていない場合、GServerはTCPServerへのホストを指定しないように見えます。
この質問をお寄せいただきありがとうございます - 私は同じ問題に遭遇しました。 DEFAULT_HOSTを0.0.0.0に上書きする方法はありますか(つまり、GServerを呼び出すコードを変更せずに変更を加えること)? – jimbojw