欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > php socket如何設置超時?php字符串太長怎么辦?

php socket如何設置超時?php字符串太長怎么辦?

2020-09-09 15:52:19 | 來源:中培企業IT培訓網

PHP是一種通用的開源腳本語言。PHP的獨特語法是C,Java,Perl和PHP自己的語法的混合。它可以比CGI或Perl更快地執行動態網頁。與其他編程語言相比,用PHP創建的動態頁面是通過將程序嵌入HTML文檔中來執行的,其執行效率比完全生成HTML標簽的CGI更高。它可以嵌入HTML中,特別適合于Web開發。那么php socket如何設置超時?php字符串太長怎么辦?中培專家為您詳解。

  php socket如何設置超時?

//如果$waitAckSec=0,則返回成功發送的字節

//如果$waitAckSec大于0,則返回發送后接收到得內容

//任何情況下,失敗都返回FALSE

function sendUdp($host, $port, $buff,$waitAckSec=0) {

$socket = ($result = @socket_create(AF_INET,SOCK_DGRAM,SOL_UDP));

//發送超時1秒

socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>3, "usec"=>0 ) );

//接收超時6秒

socket_set_option($socket,SOL_SOCKET,SO_SNDTIMEO,array("sec"=>6, "usec"=>0 ) );

if($socket){

$result = @socket_sendto($socket,$buff,strlen($buff),0,$host,$port);

if($waitAckSec>0){

$result = FALSE;

$read = array($socket);

$write = NULL;

$except = NULL;

if(@socket_select($read,$write,$except,$waitAckSec)>0){

$fromHost = "";

$fromPort = 0;

@socket_recvfrom($socket,$result,4096,0,$fromHost,$fromPort);

$result = phpext_unpack($result);

if($result["needAck"] == 1){

$this->sendUdp($host, $port, $result["ackdata"]);

if(isset ($result['data']['list']) && isset ($result['data']['totalCount'])){

$list = $result['data']['list'];

$count = $result['data']['totalCount'];

while($count> count($list)){

@socket_recvfrom($socket,$result_temp,4096,0,$fromHost,$fromPort);

$result_temp = phpext_unpack($result_temp);

$this->sendUdp($host, $port, $result_temp["ackdata"]);

$list = array_merge($list,$result_temp['data']['list']);

}

$result['data']['list'] = $list;

}

}else{

@socket_recvfrom($socket,$result,4096,0,$fromHost,$fromPort);

$result = phpext_unpack($result);

if($result["needAck"] == 1){

$this->sendUdp($host, $port, $result["ackdata"]);

if(isset ($result['data']['result']) && isset ($result['data']['userID'])){

$list = $result['data']['list'];

$count = $result['data']['totalCount'];

while($count> count($list)){

@socket_recvfrom($socket,$result_temp,4096,0,$fromHost,$fromPort);

$result_temp = phpext_unpack($result_temp);

$this->sendUdp($host, $port, $result_temp["ackdata"]);

$list = array_merge($list,$result_temp['data']['list']);

}

$result['data']['list'] = $list;

}

}

}

}else{

$result = SEND_UDP_ERROR;

}

}

@socket_close($socket);

}

return $result;

}

  php字符串太長怎么辦?

php字符串太長的解決辦法:首先截取長度等于0或大于等于本字符串的長度,則返回字符串本身;然后如果截取長度為負數,那么截取長度就等于字符串長度減去截取長度;最后如果截取長度的絕對值大于字符串本身長度,則截取長度取字符串本身的長度。

if (! function_exists('mbSubStr')){

function mbSubStr($str, $length = 0, $append = true)

{

$str = trim($str);

$strlength = strlen($str);

if ($length == 0 || $length >= $strlength) {

return $str; //截取長度等于0或大于等于本字符串的長度,返回字符串本身

}elseif ($length < 0){ //如果截取長度為負數

$length = $strlength + $length;//那么截取長度就等于字符串長度減去截取長度

if ($length < 0) {

$length = $strlength;//如果截取長度的絕對值大于字符串本身長度,則截取長度取字符串本身的長度

}

}

if (function_exists('mb_substr')){

$newstr = mb_substr($str, 0, $length, 'utf-8');

}elseif (function_exists('iconv_substr')){

$newstr = iconv_substr($str, 0, $length, 'utf-8');

}else{

//$newstr = trim_right(substr($str, 0, $length));

$newstr = substr($str, 0, $length);

}

if ($append && $str != $newstr){

$newstr .= '...';

}

return $newstr;

}

}

以上就是關于php socket如何設置超時,以及php字符串太長怎么辦的全部內容,想了解更多關于php的信息,請繼續關注中培偉業。

標簽: php字符串

相關閱讀

主站蜘蛛池模板: 艳妇乳肉豪妇荡乳 | 青春草av | 久久精品人人槡人妻人人玩 | 欧美精品videofree | 超碰CAOPORON入口 | 日本xxx大片免费观看 | 国产精品无码AV一区二区三区 | 大地资源网更新免费播放视频 | 日本熟妇人妻xxxxx视频 | 色欲人妻AAAAAAA无码 | 久久久无码精品亚洲日韩蜜桃 | 无码人妻精品一区二区三区在线 | 色综合久久久久久久久久久 | 国产精品AV一区二区三区不卡蜜 | 中文字幕免费亚洲 | 色WWW永久免费视频 最新国产精品拍自在线观看 | 中日韩精品视频一区二区三区 | 久久桃花 | 国色天香WWW视频 | 日本公与熄乱理在线播放 | 亚洲国产精品成人久久久麻豆 | 久久久久88色偷偷 | 亚洲VA中文字幕不卡无码 | 欧美第一黄网免费网站 | 亚洲欧美日韩v中文在线 | 国产裸体裸拍免费观看 | 成人午夜爽爽爽免费视频 | 亚洲欧美日韩另类丝袜一区 | 欧美性生交大片免费看A片免费 | 成年午夜无码AV片在线观看 | 一本色综合亚洲精品 | 日本手机在线视频 | 国产麻豆成人AV色影视 | 少妇的肉体AAAAA免费视频 | 九九视频国产免 | 人妻无码中文久久久久专区 | 国产美女裸体无遮挡免费视频 | 中文字幕国产欧美 | 亚洲午夜福利AV一区二区无码 | 手机在线看黄色片 | 99久久婷婷国产综合精品 |