召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 744|回复: 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得不到响应,这里设置时间可以跳过不会陷入死循环
1 B( n/ B' ?' |' I现在socket读写数据的流程是这样的:
3 C% ~/ U2 V" K/ Q0 _: D2 [" W8 e( @
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);% o1 Z: T( Z# S$ F+ ], I- }9 h% |
, S5 Y9 T0 M- u
socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>60, "usec"=>0 ) );9 y  _* h( m+ n7 u

8 ^$ V( r( ?1 k! Psocket_connect($socket, IP, PORT);
5 g9 x- S$ H& s' k6 L  w7 e, ^+ z' z0 X. I; [0 h. j) |7 Y3 L  n
socket_write($socket, $strxml, strlen($strxml);9 H; \, l& \$ ?& U# U1 d" k
$back = socket_read($socket, 8192);" H/ C: N; Q5 Y* o7 b& l5 l

+ o' A6 \9 o% P4 H$ [/ Q- q) Dsocket_read有时候收不到返回数据,应该是超时了,如何修改超时时间?- v( n2 b' x5 x6 h2 L1 K
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO,array("sec"=>3, "usec"=>0));//接受超时
) c# r  E/ {0 y; rsocket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO,array("sec"=>2, "usec"=>0));//发送超时
9 y9 j! m8 n; w
/ A. B' B8 o) y$ ^2 yhttps://blog.csdn.net/sn_qmzm521/article/details/80756396* [, k4 [8 n5 n" s
https://blog.csdn.net/Hiking_Tsang/article/details/84788448. r7 p7 x& w. i. [. ^* l% ^- F

% B1 k& ^9 X+ G3 r; n
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-2 14:00 , Processed in 0.031750 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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