十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
三中接受方式:
创新互联主营未央网站建设的网络公司,主营网站建设方案,重庆App定制开发,未央h5小程序制作搭建,未央网站营销推广欢迎未央等地区企业咨询
$_GET //get过来的数据
$_POST //post过来的数据
file_get_contents("php://input") //接口过来的xml等字符串数据用这个接
这三个方法足以接受任何数据了,具体你还要百度一下用法
启动php sever服务 client新建一个websocket对象连接后端 client发送数据给后端 服务器接受数据后返回数据 client接收到返回数据继续下一步 我这边有个聊天室的demo就是这样做的,很简答
如果使用的是HTTP协议的GET方法,数据保存在$_GET数组中.
如果使用的是HTTP协议的POST方法,数据通常保存在$_POST数组中.
注:如果post方法没有指出数据类型,提交的数据可以通过$HTTP_RAW_POST_DATA获取.
找到数据后可以通过json_decode函数处理下即可转换成数组或对象.
首先是服务端的代码:
?php
$host = 'localhost';
$port = 4888;
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_bind($socket, $host, $port) or die("Could not blind to port\n");
$result = socket_listen($socket, 3) or die("Could not set LIstener\n");
while($spawn = socket_accept($socket) or die("Could not readinput\n")){
$input = socket_read($spawn, 1024);
echo $input,"\n";
$input = '7636553:'.trim($input);
//client
$output = $input."\n";
socket_write($spawn, $output, strlen($output));
}
//kill
socket_close($spawn);
socket_close($socket);
echo "close\n";
?
客户端的代码:
?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$connection = socket_connect($socket, 'localhost',4888) or die("Could not connect\n");
echo 'Write to Socket',"\n";
if(!socket_write($socket, "some data")){
echo 'write failed',"\n";
}
//read respose from socket
while($buffer = socket_read($socket, 1024)){
echo 'Response: ',$buffer,"\n";
}
?
先启动服务器端,再执行客户端。然后,你就可以看见这个效果了。
对于json,PHP有对应的方法进行操作。
一般而言,json会以字符串形式传给PHP脚本,一般都是放在$_POST里面,
14
?php
// 接收
$json_parameter = $_POST['json_str'];
// 处理, 变成数组
$array = json_decode($json_parameter);
// PHP 把数组数据变成json格式字符串,发给页面
$demo = array(
'key' = 'value',
'key2' = 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;