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
欢迎收藏∩_∩但请保留本文链接。