客户端使用tcp连接服务器通讯如何处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24364529/article/details/82625380

这是我前几天项目遇到的问题,以后也可能用不到了吧,还是记一下。

问题:有设备若干,使用tcp协议和服务器连接,设备发来数据后,服务器进行相应处理,然后把处理后的数据返回给客户端。

解决方法:我准备使用GatewayWorker、tp,让客户端(设备)和GatewayWorker进行tcp通讯,GatewayWorker接收到客户端的消息后,php curl方式发送json数据给tp处理,返回的数据通过Gateway发给客户端。由于没有真正的验证方法的可行性,这里只是单纯的做一个记录而已。

异步处理代码(网上搜的):

<?php
$arr = array(
    'subject'=>'课程',
    'loginName'=>'Durriya',
    'password'=>'123'
);

//json也可以
$data_string =  json_encode($arr);
//普通数组也行
//$data_string = $arr;

echo $data_string;
//echo '<br>';

//curl验证成功
$ch = curl_init("http://test.api.com/");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string)
));

$result = curl_exec($ch);
if (curl_errno($ch)) {
    print curl_error($ch);
}
curl_close($ch);
echo $result;

猜你喜欢

转载自blog.csdn.net/qq_24364529/article/details/82625380