召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 591|回复: 0

简单实用socket

[复制链接]

6

主题

1

回帖

67

积分

注册会员

Rank: 2

积分
67
发表于 2019-12-29 00:07:31 | 显示全部楼层 |阅读模式
@socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO,array("sec"=>10, "usec"=>0));当socket_read得不到响应,这里设置时间可以跳过不会陷入死循环$ r. }6 x. z1 C8 G: R% R3 H) h
现在socket读写数据的流程是这样的:' ?0 v# M/ P' ^' b0 _0 Z
$ [" I5 }4 ~6 ^! [
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
2 n! F# r. C- K3 ?8 {5 |" W' O4 i. }- J; m! s+ r
socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>60, "usec"=>0 ) );
7 O% d+ q: `) j
6 x- j1 A0 _1 D1 o% T4 g# }socket_connect($socket, IP, PORT);7 s, {* t1 I) e! ^( q0 p

6 C& X: H) b8 p  G% ksocket_write($socket, $strxml, strlen($strxml);; {8 G. l: H- \" y+ t5 c
$back = socket_read($socket, 8192);
, Y# P* o' n; m
; ?* j$ k6 B( k, [socket_read有时候收不到返回数据,应该是超时了,如何修改超时时间?
- s7 y6 D( ]1 `8 i0 Z% F8 D; Lsocket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO,array("sec"=>3, "usec"=>0));//接受超时
7 i# D) t8 c# K$ Fsocket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO,array("sec"=>2, "usec"=>0));//发送超时
3 e+ }1 C, F2 }! J* E$ }$ N9 A/ e# x5 x3 v# N# y' S( g# x
https://blog.csdn.net/sn_qmzm521/article/details/80756396
( u4 ~- W# g+ s# h  Uhttps://blog.csdn.net/Hiking_Tsang/article/details/84788448
# O  p# G; x8 c& B& O3 ~
( d: e6 S; s$ V
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|召隆企博汇 ( 粤ICP备14061395号 )

GMT+8, 2025-2-22 16:50 , Processed in 0.031271 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表