PHPでサーバソケットプログラミング|サーバー側server.php|クライアントclient.php

phpのソケットの基本的な原則、基本的な使い方:
1.サーバー側:ソケットを作成=>指定されたIPおよびポートにソケットをバインド=>socketのすべてのリンクリクエストをリスナー=>応答またはデータを戻る
2.クライアント側:ソケットを作成=>リクエストされたソケットに接続=>ソケットのデータ送信=>ソケットの応答データを読み取る

 

3.サーバー側処理プログラム

Server.php

<?php

$host = '192.168.0.10’;
$port = 88888;

if($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)){
echo “socket create success.\n";
}

if($bind = socket_bind($socket, $host, $port)){
echo “socket bind success.\n";
}

if($listen = socket_listen($socket)){
echo “socket listening…\n";
}

if($connect = socket_accept($socket)){
echo “socket accept a connect success.\n";
}
socket_write($connect, 'I am from Server.php at DateTime:’.date('Y-m-d H:i:s’)."\n");
//====================クライアントへ送信=================================================//

$read = socket_read($connect, 1024);
echo $read;
//============クライアントからのメッセージを受け入れる============================//
//while($connect= socket_accept($socket)){
// $read = socket_read($connect, 1024);
// echo $read;
//}
//accept循環
4.クライアント処理プログラム

Client.php
<?php

$host = '192.168.0.10’;
$port = 88888;

if($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)){
echo “socket create success.\n";
}
socket_connect($socket, $host, $port);
socket_write($socket, 'I am from client.php at DateTime:’.date('Y-m-d H:i:s’)."\n");
//==================サーバーに送信================================================//

$read = socket_read($socket, 1024);
echo $read;
//===============サーバー側の応答データを受け取る========================//

Development

Posted by arkgame