phpでのsocketの使い方の詳しい説明、phpsocket_PHPチュートリアルの詳しい説明
phpでのsocketの使い方の詳しい説明、phpsocketの詳しい説明
この記事の例は、php でのソケットの使用法を詳細に説明しており、参考のために皆さんと共有されています。具体的な使い方は以下の通りです
1. ソケットを開きます
phpinfo(); ソケット拡張機能が有効かどうかを確認し、そうでない場合は php.ini で有効にします。
2. サーバーサイドコードの書き方
set_time_limit(0);
//ob_implicit_flush();
$アドレス = '127.0.0.1';
$ポート = 10005;
//ポートを作成します
if( ($sock =socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() が失敗しました:reason:" 。socket_strerror(socket_last_error()) "n";
}
//バインディング
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() が失敗しました:reason:" 。socket_strerror(socket_last_error($sock)) "n";
}
//モニター
if (socket_listen($sock, 5) === false) {
echo "socket_bind() が失敗しました:reason:" 。socket_strerror(socket_last_error($sock)) "n";
}
する{
//リンクを取得します
if (($msgsock =ソケット_accept($sock)) === false) {
echo "socket_accepty() が失敗しました :reason:".socket_strerror(socket_last_error($sock)) "n";
休憩;
}
//クライアントにようこそ送信されました
$msg = "サーバー送信:ようこそ
";
socket_write($msgsock, $msg, strlen($msg));
echo 'クライアントメッセージを読む';
$buf =ソケット_読み取り($msgsock, 8192);
$talkback = "受信メッセージ:$bufn";
エコー $talkback;
if (false ===socket_write($msgsock, $talkback, strlen($talkback))) {
echo "socket_write() が失敗した理由:" .socket_strerror(socket_last_error($sock)) ."n";
} その他 {
echo '送信成功';
}
ソケットクローズ($msgsock);
while(true);
//ソケットを閉じる
ソケットクローズ($sock);
?>
サーバーは cli モードで実行する必要があります。cli モードでは php.ini ファイルが異なる方法でロードされる可能性があります。
次のように出力できます:
3. クライアント
echo "
tcp/ip 接続
n";$service_port = 10005;
$アドレス = '127.0.0.1';
$socket =ソケット_作成(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() が失敗しました: 理由: " 。socket_strerror(socket_last_error()) 。
} その他 {
echo "OK.n";
}
echo "ポート '$service_port' の '$address' に接続しようとしています...";
if($result === false) {
echo "socket_connect() が失敗しました。nReason: ($result) " 。socket_strerror(socket_last_error($socket)) "n";
} その他 {
「OK n」をエコーします;
}
$in = "HEAD/http/1.1rn";
$in .= "ホスト: ローカルホスト rn";
$in .= "接続: より近いnrn";
$out = "";
echo "http ヘッド リクエストを送信しています ...";
socket_write($socket, $in, strlen($in));
「OKn」をエコーします;
echo "応答を読み取っています:nn";
エコー $out;
}
echo "ソケットを閉じています..";
ソケットクローズ($ソケット);
エコー「わかりました。nn」;
サーバー:
クライアント:
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
