这篇文章主要介绍了php基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下
服务器端:
<?php
set_time_limit(0);
$host="localhost";
$port=1001;
//创建一个连接
$socket=socket_create(af_inet,sock_stream,sol_tcp)or die("cannot create socket\n");
//绑定socket到端口
$result=socket_bind($socket,$host,$port) or die("cannot bind port to socket\n");
//开始监听这个端口
$result=socket_listen($socket,4) or die("could not set up socket listen\n");
//接受连接,另一个socket来处理通信
$msgsock=socket_accept($socket) or die("cannot accept incoming connection\n");
if($msgsock){
echo date("y-m-d h:i:s d a");
}
//读取客户端发送过来的信息
$input=socket_read($msgsock,1024) or die("cannot read input\n");
$input=trim($input);
$output=strrev($input)."顺序反过来了吧\n";
//对接收到的信息进行处理,然后返回到客户端
socket_write($msgsock,$output,strlen($output)) or die("cannot write");
//关闭socket连接
socket_close($msgsock);
socket_close($socket);
?>
客户端:
<?php
set_time_limit(0);
$host="localhost";
$port=1001;
//创建一个socket
$socket=socket_create(af_inet,sock_stream,sol_tcp)or die("cannot create socket\n");
$conn=socket_connect($socket,$host,$port) or die("cannot connect server\n");
if($conn){echo "client connect ok!";}
socket_write($socket,"hello world!") or die("cannot write data\n");
$buffer=socket_read($socket,1024,php_normal_read);
if($buffer){
echo "response was:".$buffer."\n";
}
socket_close($socket);
?>
相关推荐:php实现websocket实时消息推送步骤详解
websocket通信使用剖析
nginx反向代理websocket配置实例
以上就是php基于socket实现客户端和服务端通讯功能的方法的详细内容。