ホームページ > バックエンド開発 > PHPチュートリアル > ソケットのリクエストと受信の例

ソケットのリクエストと受信の例

WBOY
リリース: 2016-08-08 09:21:38
オリジナル
988 人が閲覧しました

クライアント

error_reporting(E_ALL);
set_time_limit(0);
echo "

TCP/IP接続

n";
$port = 1935;
$ip = " 127.0.0.1";
/*
+--------------------------------------------
* * @ソケット接続プロセス全体
+-------------------------------------------------
* @socket_create
* @socket_connect
* @socket_write
* @socket_read
* @socket_close
+--------------------------------
*/
$socket =socket_create (AF_INET, SOCK_STREAM, SOL_TCP );
if ($socket < 0) {
echo "socket_create() が失敗しました: 理由: " .socket_strerror($socket) . "n";
}else {
echo "OK.n ";
}
echo "'$ip' ポート '$port' に接続しようとしています...n";
$result =socket_connect($socket, $ip, $port);
if ($result < 0 ) {
echo "socket_connect() failed.nReason: ($result) " .socket_strerror($result) . "n";
}else {
echo "Connect OKn";
}
$in = " namern";
$out = '';
if(!socket_write($socket, $in, strlen($in))) {
echo "socket_write() が失敗しました: 理由: " .socket_strerror($socket) . "n ";
}else {
echo "サーバーに送信された情報は正常に送信されました! n";
}
while($out =ソケット_読み取り($socket, 8192)) {
echo "サーバーから返信された情報は、無事に受け取りました! n";
echo "受け入れられたコンテンツは次のとおりです:",$out;
}
echo "Close SOCKET...n";
socket_close($socket);
echo "Close OKn";

?>

サーバー側

//クライアントへの接続時にタイムアウトが発生しないようにします
set_time_limit(0);
$ip = '127.0.0.1';
$port = 1935;
/*
+ --- ----------------------------
* @ソケット通信の全プロセス
+-------- ----- ------------------
* * @socket_create
* * @socket_bind
* * @socket_listen
* * @socket_accept
* * @socket_read
* * @socket_write
* * @socket_close
+-- ----------------------------------
*/
/*-------------- -- 以下の操作はマニュアルに記載されています -------------------*/
if(( $sock =socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) {
echo "socket_create() が次の理由で失敗しました: ".socket_strerror($sock)."n";
}
if(($ret =ソケットバインド($) sock,$ip,$port)) < 0) {
echo "socket_bind() が次の理由で失敗しました: ".socket_strerror($ret)."n";
}
if(($ret =socket_listen($sock,4) )) < 0) {
echo "socket_listen( ) 失敗の理由は次のとおりです: ".socket_strerror($ret)."n";
}
$count = 0;
do {
if (($msgsock =ソケット_accept) ($sock)) < 0) {
echo " Socket_accept () failed: release: ". Socket_Strerror ($ msgsock)." n "; else {
// クライアントに表示します
$ msg =ほら、君の名は! n";
ソケット_write($msgsock, strlen($msg));
, sock_write socket_write _close($msgsock);
} while (true);
socket_close ($sock );
?>


上記はソケットのリクエストと受信の例を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート