php利用stream_socket_server与stream_socket_client
<?php
//以上php为服务端,它将监听消息,直到按下:ctrl+c
while (true) {
//每5秒执行一次
receive_message('127.0.0.1', '85', 5);
}
//自定义函数用于获取消息
function receive_message($ipserver, $portnumber, $nbsecondsidle) {
//创建socket
$socket = stream_socket_server('tcp://' . $ipserver . ':' . $portnumber, $errno, $errstr);
if (!$socket) {
//如果创建socket失败输出内容
echo "$errstr ($errno)<br />n";
} else {
//如果创建成功则接受socket连接并获取信息
while ($conn = @stream_socket_accept($socket, $nbsecondsidle)) {
$message = read($conn, 1024);
echo 'i have received that : ' . $message;
fputs($conn, "okn");
fclose($conn);
}
fclose($socket);
}
}
//server结束
?><?php
//以下代码为客户端,它将发送信息并读取回复
send_message('127.0.0.1', '85', 'message to send...');
//自定义函数,发送信息
function send_message($ipserver, $portserver, $message) {
$fp = stream_socket_client("tcp://$ipserver:$portserver", $errno, $errstr);
if (!$fp) {
echo "erreur : $errno - $errstr<br />n";
} else {
fwrite($fp, "$messagen");
$response = fread($fp, 4);
if ($response != "okn") {
echo 'the command couldn\'t be executed...ncause :' . $response;
} else {
echo 'execution successfull...';
}
fclose($fp);
}
}教程网址:http://www.phprm.com/develop/fs4239.html
欢迎收藏∩_∩但请保留本文链接。