为自己加油
个人记录学习笔记的网站
php stream_set_blocking设置非阻塞模式,php stream_set_blocking影响函数fgets()和fread()
stream_set_blocking函数可以将资源流设置为阻塞模式或者非阻塞模式,主要影响的函数分别是fgets,fread,其他的手册没有说。在socket编程中,如果一个socket连接上了,但是不发送数据,此时使用fread或者fgets去读取数据,由于socket句柄是有效的,但是获取不到数据,fread/fgets就会阻塞等待卡在那里,一直等到超时才继续向下执行。看下面的阻塞等待demo:服务器:<?php $socket = stream_socket_
2020年09月02日 14时09分14秒
1560次浏览
分类:PHP
阅读更多
php feof使用注意,php feof socket套接字使用注意,
服务端:<?php $socket = stream_socket_server('tcp://127.0.0.1:8888', $errno, $errstr); while ($conn = stream_socket_accept($socket)) { fwrite($conn, "1024");
2020年09月02日 14时09分04秒
1057次浏览
分类:PHP
阅读更多
Benchmarking 127.0.0.1 (be patient)...apr_socket_recv
当我用ab进行对php socket代码进行并发测试出现问题,经过排查是我直接对客户端进行发送消息,没有先读取客户端消息造成的。 $text = "hello world" . PHP_EOL; fwrite($conn, $text); fclose($conn);修改为//读取client发送的信息 $client_msg = fread($conn
2020年08月31日 21时08分03秒
1369次浏览
分类:PHP
阅读更多
php socket select poll epoll
【一】.
2020年08月31日 21时08分25秒
1042次浏览
分类:PHP
阅读更多
stream_socket_accept peername和stream_socket_get_name
stream_socket_accept $peername参数将对应客户端的地址和端口输出:$conn = stream_socket_accept($socket,0,$peerName);127.0.0.1:57034输出连接的客户端的ip和端口而stream_socket_get_name同时支持获取当前服务器/客户端的ip和端口stream_socket_get_name($conn,false) //获取的是服务端ip和端口 stream_
2020年08月30日 12时08分59秒
935次浏览
分类:PHP
阅读更多
stream_socket_accept设置非阻塞,socket_accept设置非阻塞
编写socket服务检测是否有新连接加入都要使用stream_socket_accept和socket_accept来获取,但是默认是阻塞的,想要更换为非阻塞并不能用stream_set_blocking($socket, false),因为stream_set_blocking只是设置socket的读写不阻塞,针对的类似于fread/fwrite系列。如果需要对stream_socket_accept设置非阻塞,只需要设置超时时间为0即可。while (true) {  
2020年08月30日 12时08分04秒
1398次浏览
分类:PHP
阅读更多
php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件
假如我们使用curl请求一个网站,如果这个网站域名在本地host中也存在,curl默认会请求本地,但是我们可以自己设置解析到哪个ip。(1).设置朋友的博客网站主机和ip,请求测试正确返回远程网站内容<?php $ip = '47.106.110.119'; $host = 'www.php20.cn'; $ch = curl_init(); curl_setopt($ch,&nbs
2020年08月17日 14时08分27秒
1337次浏览
分类:PHP
阅读更多
php将数组输出为数组代码结构
有时候我们拿到一个PHP数组变量,想要将这个数组的代码结构复制出来方便调试可以使用,直接将输出结果复制作为定义数组的代码。经常用,但是记不住,我们专门留在博客方便自己查询。<?php $data = [ 'id'=>10001, 'name'=>'GaoJiuFeng' ]; var_export($data);输出结果:array ( 'id&
2020年08月10日 19时08分11秒
1254次浏览
分类:PHP
阅读更多
php windows多进程,php windows创建多进程,
本人在windows下创建多进程的研究,唯一缺点,主进程所在终端关闭则所有子进程全部关闭。原理是通过proc_open创建多进程,通过环境变量识别父子进程,还能通过proc_open进行父子进程通信<?php namespace EasyTask; use \Exception as Exception; /** * Class Wpc * @package EasyT
2020年08月06日 21时08分37秒
1222次浏览
分类:PHP
阅读更多
php获取启动文件
<?php function getStartFile() { $backtrace = \debug_backtrace(); if($backtrace) { return $backtrace[count($backtrace)-1][&
2020年08月04日 14时08分28秒
1114次浏览
分类:PHP
阅读更多
‹‹
上一页
9
10
11
12
13
下一页
››
Top
首页
在线工具
后台登陆
×
×