php で WebSocket 環境を構築する方法: 1. php.ini ファイルでソケット拡張子を見つけ、その前のセミコロンを削除します; 2. http を WebSocket にアップグレードします; 3. 環境変数を構成してインストールしますPHP Pathにパスを追加; 4.cmdに「php Path」と入力します。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
php で WebSocket 環境をセットアップするにはどうすればよいですか?
PHP は WebSocket サーバーを作成します
このサーバーを作成するには、最初にソケット拡張機能を有効にする必要があります。有効になっていない場合は、エラーが報告されます何があっても問題ありません。
php.ini ファイルでソケット拡張子を見つけて、その前のセミコロンを削除して開くだけです。
開く前に:
;extension=sockets
extension=sockets
opening Finished を開いた後、本題に進みます。まず、いくつかの関数を理解します:
socket_create(AF_INET, SOCK_STREAM, SOL_TCP);//用于创建套接字 socket_bind( $this->master,$ip,$port);//用于绑定ip和端口 socket_listen( $this->master,1000);//用于调用connect连接的套接字和监听相关端口 socket_accept($this->master);//负责握手连接 socket_recv($socket, $buffer, 1024, 0);//从已连接的socket(客户端)接收数据 socket_write($socket,$upgrade,strlen($upgrade));//给单独客户端发送数据 send($message)//发送数据 socket_close($socket);//断开连接
多くの手順は、PHP でソケットを作成するのと似ています。
主な違いは、socket_write の使用とデータを解決する必要があることです。フレームをシールするには、http を websocket にアップグレードする必要がありますhttp を websocket にアップグレードしますif(preg_match("/Sec-WebSocket-Key: (.*)\r\n/",$buffer,$match)){ $responseKey=base64_encode(sha1($match[1] . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',true)); $upgrade="HTTP/1.1 101 Switching Protocol\r\n". "Upgrade: websocket\r\n". "Connection: Upgrade\r\n". "Sec-WebSocket-Accept:".$responseKey."\r\n\r\n"; socket_write($socket,$upgrade,strlen($upgrade)); }$ソケットは作成した接続、$buffer はクライアントが初めて接続するときに送信されるデータです注: Sec-WebSocket-Key: (.*)//角括弧とコロンの間にはスペースが必要ですDeframing
$len=$masks=$data=$decoded=null; $len=ord($buffer[1]) & 127; if($len === 126){ $masks=substr($buffer,4,4); $data=substr($buffer, 8); }else if($len === 127){ $masks=substr($buffer,10,4); $data=substr($buffer, 14); }else{ $masks=substr($buffer,2,4); $data=substr($buffer, 6); } for($index = 0;$index<strlen($data);$index++){ $decoded.=$data[$index] ^ $masks[$index % 4]; } return $decoded;$buffer は最初のクライアントです最初の接続中に送信されるデータFrame seal
$len=strlen($message); if($len<=125){ return "\x81".chr($len).$message; }else if($len<=65535){ return "\x81".chr(126).pack("n",$len).$message; }else{ return "\x81".chr(127).pack("xxxxN",$len).$message; }$message は送信する必要があるデータですフロントエンド接続の前にサーバーを実行することを忘れないでください。実行方法:cmd に入力します
php 你的服务端PHP文件路径実行前に環境変数を構成します。PHP インストール パスを次の場所に追加します。パス推奨学習: 「
PHP ビデオ チュートリアル」
以上がPHPでWebSocket環境を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
