PHP中udp或tcp请求数据
2017-12-14 10:04
148 查看
小谢博客地址https://xgs888.top/post/view?id=75
PHP中使用tcp或者udp请求数据,分为两种
1:需要向udp发送数据才能获取到返回值的
2:udp直接就是吐数据不需要发请求
#设置超时不起作用不知道什么情况
socket请求设置请求超时
PHP中使用tcp或者udp请求数据,分为两种
1:需要向udp发送数据才能获取到返回值的
/** *$service_port 端口号 *$address 服务器地址 *$in 发送的参数 **/ public function Send_socket_xdcoder_udp($service_port, $address, $in) { // 采用php socket技术使用UDP协议连接设备 $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); @socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array( "sec" => 2, "usec" => 0 )); // 发送命令 @socket_sendto($socket, $in, strlen($in), 0, $address, $service_port); @socket_recvfrom($socket, $buffer, 1024, 0, $address, $service_port); // 关闭连接 socket_close($socket); if (! empty($buffer)) { return $buffer; } else { echo "fail"; } }
2:udp直接就是吐数据不需要发请求
#设置超时不起作用不知道什么情况
/** *$service_port 端口号 *$address 服务器地址 **/ public function getUdp($service_port, $address) { //服务器信息 //如果是tcp 直接写tcp $server = "udp://$address:$service_port"; //消息结束符号 $msg_eof = "\n"; $socket = stream_socket_server($server, $errno, $errstr, STREAM_SERVER_BIND); if (!$socket) { die("$errstr ($errno)"); } $inMsg = stream_socket_recvfrom($socket, 1024, 0, $peer); fclose($socket); return $inMsg; }
socket请求设置请求超时
/** * Created by PhpStorm. * function: Get_socket_xdcoder_udp * Description: 获取udp数据 * User: Xiaoxie * @param $service_port * @param $address * @return mixed * */ public function Get_socket_xdcoder_udp($service_port, $address) { $socket = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP); socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array( "sec" => 1, "usec" => 0 )); $ok = @socket_bind($socket,$address,$service_port); if ( $ok === false ) { echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) ); } $from = ''; $cport = 0; @socket_recvfrom($socket, $buffer, 1024,0, $from, $cport); // echo $from; return $buffer; }
相关文章推荐
- TCP与UDP的异同(服务端接收数据,客户端发送数据)
- Linux下使用epoll函数同时处理TCP请求和UDP请求的回射服务器
- PHP使用CURL模拟POST/GET方式提交数据,支持HTTPS请求
- 微信抽奖ajax GET方式请求php页面数据
- java语言基础(100)——网络编程(udp tcp发收数据)
- AJAX 跨域请求 - JSONP获取JSON数据(PHP版)
- 【php】获取http请求body数据
- php socket通信(tcp/udp)
- 访问Web,tcp传输全过程(三次握手、请求、数据传输、四次挥手)
- socket编程——TCP/UDP数据传输 .
- linux高性能服务器编程之同时处理UDP请求和TCP请求的服务器
- 使用Nginx转发TCP/UDP数据
- php请求+android端(rxjava+retrofit)接收数据
- PHP获取未知MIME类型(如text/xml)的请求数据
- 集成测试(一)—— 使用PHP页面请求Spring项目的Java接口数据
- Erlang:请求php数据,GET、POST
- tcp/udp 高数据量传输系统设置资料
- TCP、UDP数据包大小的限制(UDP数据包一次发送多大为好)——数据帧的物理特性决定的,每层都有一个自己的数据头,层层递减
- http协议传输二进制数据以及对输入流(php://input)和http请求的理解
- Windows下使用IPV6 socket收发TCP,UDP数据