お勉強 :  初socket 

PHPで初めてsocket関数を使いました。

ひょなことから、仕事でTCPで通信テストをするときに、
なぜか送信元ポート番号を毎度同じにしたいという要件
があったので、どうやろうかと悩んでました。

普通のアプリケーションだと送信元ポートはOSが勝手に
開いている番号を割り当ててくれる認識だったので、
その逆をやろうとしたら結構大変だったのでした。

いろいろ調べながら、socket_bind で自身のIPアドレス
として 0.0.0.0 から、使用したいポート番号をあらかじめ
バインドしておくことで、送信元ポートも操れることを
知りました。

しかし、同じポート番号で何度も接続・切断させると、
今度は TCP セッションのTIME_WAIT 待ちになって
新しいセッション開始に失敗することも。

Windows だと TIME_WAIT は最短30秒みたいだが、
これより短くは・・・できないのかなあ。

さて、今晩の体重は 79.6kg でした。


[ 2017/04/27 23:05 ] お勉強 | TB(0) | CM(0)
コメントの投稿








管理者にだけ表示を許可する