うわー
このコードを実行するにはどうすればよいですか? ページを開いたときに開けません。 。
私が作成したこのソケットの効果をテストするにはどうすればよいですか? 。 。 。 。 。 。 。テストを成功させてからソケット クライアントを作成したいと考えています。以前は、http は URL を直接入力するだけでした。 。 。ソケットをテストする方法が本当にわかりません。 。
socket_test.phpというファイルを追加します
ターミナルで
<?phperror_reporting(E_ALL);set_time_limit(0);//ob_implicit_flush();$address = '127.0.0.1';$port = 10005;//创建端口if( ($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) { echo "socket_create() failed :reason:" . socket_strerror(socket_last_error()) . "\n";}//绑定if (socket_bind($sock, $address, $port) === false) { echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";}//监听if (socket_listen($sock, 5) === false) { echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";}do { //得到一个链接 if (($msgsock = socket_accept($sock)) === false) { echo "socket_accepty() failed :reason:".socket_strerror(socket_last_error($sock)) . "\n"; break; } //welcome 发送到客户端 $msg = "<font color='red'>server send:welcome</font><br/>"; socket_write($msgsock, $msg, strlen($msg)); echo 'read client message\n'; $buf = socket_read($msgsock, 8192); $talkback = "received message:$buf\n"; echo $talkback; if (false === socket_write($msgsock, $talkback, strlen($talkback))) { echo "socket_write() failed reason:" . socket_strerror(socket_last_error($sock)) ."\n"; } else { echo 'send success'; } socket_close($msgsock);} while(true);//关闭socketsocket_close($sock);?>
ソケットはターミナルでテストする必要があります!
socket_test.php という名前のファイルを追加します
ターミナルで
php socket_test.php
ポートを変更してみてください
これで動作するようになりました。 ?テスト方法は?