さて、を使用するクラスがwhile(true)
あり、ソケットを使用して接続します。今私の問題は、socket_set_nonblockを使用すると接続されないことで、「接続できませんでした」と表示されなくなります。パケットを送ってから入れると、最初からやり直してやり直します。
これが私の接続機能です:
function connect($ip, $port) {
if($this->soc!=null) socket_close($this->soc);
$this->soc = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
if(!$this->soc) die(socket_strerror(socket_last_error($this->soc)));
if(!socket_connect($this->soc,$ip,$port)) die("Could not connect.");
}
socket_set_nonblockを使用しようとしたときの関数は次のとおりです
function connect($ip, $port) {
if($this->soc!=null) socket_close($this->soc);
$this->soc = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_set_nonblock($this->soc);
if(!$this->soc) die(socket_strerror(socket_last_error($this->soc)));
if(!socket_connect($this->soc,$ip,$port)) die("Could not connect.");
}