下図のSocket抽象化層の位置を踏まえて理解してください。ソケットは、アプリケーション層と TCP/IP プロトコル スイート間の通信のための中間ソフトウェア抽象化層であり、インターフェイスのセットです。デザイン パターンでは、これはファサード パターンであり、インターフェイスの背後に複雑な実装をカプセル化し、ユーザーが呼び出すための単純なインターフェイスのセットのみを提供します。一般的なプログラミング言語では、これらのインターフェイスは通常、作成、バインド、リッスン、受け入れ、書き込み、読み取り、閉じる、接続などです。
1. レンダリング
2. コード
<?php set_time_limit(0); // 去掉时间限制 ob_implicit_flush(); // 开启强制刷新 // 1. 创建Socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 2. 绑定端口和IP socket_bind($socket, '127.0.0.1', 11279); // 3. 端口监听 socket_listen($socket); echo 'Server is listening!' . PHP_EOL; // 4. accept阻塞进程 $connect = socket_accept($socket); // 直到有连接进入,accept才会返回 echo 'Client [' . $connect . '] is accessing...' . PHP_EOL; // 5. 交互 socket_write($connect, 'Welcome, visitor! Now you can send message to the server.' . PHP_EOL); while ($connect) { // 获取请求 $request = socket_read($connect, 1024); echo 'Client ['. $connect .'] message: ' . $request; // 关闭连接 if($request == "bye" . PHP_EOL){ socket_shutdown($connect); break; } // 发送响应 $response = 'Your sended message: ' . $request; socket_write($connect, $response); } // 6. 销毁Socket socket_close($socket);
りー
以上がPHP は例を使用してソケットとは何かを理解しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。