0
私はいくつかの着信接続要求を破るソケットサーバーを持っています(default_socket_timeoutは10秒ですが、stream_socket_accept()でこれらの要求を正確に1分間停止します)。ソケット接続を受け入れる前にIPを要求するのは熱くなっていますか?
stream_socket_accept()を実行する前にクライアントのIPアドレスを取得する方法はありますか?
誰かがサーバー上の指定されたポートにpingを実行すると、深いレベルで何が起こっているのかを把握できるサーバーログがありますか?
おそらく私はこの問題を追跡することができます。
本当ですか?まだ私はまだstream_socket_acceptを呼び出していないので、私はstream_socket_getと呼ぶことができるソケットを持っていないのですか? –
実際には、接続を確立する前にリモートIPアドレスを取得することはできません。必要な場合は、ファイアウォールを使用する必要があります。参照:[link](http://stackoverflow.com/questions/6418603/linux-tcp-server-reading-clients-ip-address-before-accepting-connection) –
@ArminHierstetterまたはあなたはかなりTCPスタックを必要とします... stream_socket_accept()は、呼び出し側のプログラムのソケットにファイル記述子を作成し、バックログから削除します。実際のSYN/ACK送信は_accept()_ syscallの前にカーネルで透過的に行われます。 – bwoebi