召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1953|回复: 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得不到响应,这里设置时间可以跳过不会陷入死循环( v( b+ L* P: S6 w+ ?/ T5 {
现在socket读写数据的流程是这样的:0 X; S% Y/ s5 p  d$ U
$ {  Y& P( j0 ~: L9 \
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
9 T  G1 x% E! J: p5 W) B$ A' \0 B+ e
socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>60, "usec"=>0 ) );
, }, v$ Q% g3 P3 z8 B/ _
1 d. n# x4 D: i4 k" asocket_connect($socket, IP, PORT);
! H. s/ X% c$ ~, o8 ~: I: `5 |3 v3 U2 \( }. F' s& q2 O( l
socket_write($socket, $strxml, strlen($strxml);
; x& W/ l1 z6 Q! k7 o# Q# O$back = socket_read($socket, 8192);
# x' T9 F- C1 p; r' Z2 g4 |5 t. A$ i  @# i$ K8 i; Z1 V
socket_read有时候收不到返回数据,应该是超时了,如何修改超时时间?
/ s  ^! Y) d2 c0 @4 d' J6 q% Psocket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO,array("sec"=>3, "usec"=>0));//接受超时( P# _5 m1 m, h$ B
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO,array("sec"=>2, "usec"=>0));//发送超时
& e4 I- m  K) d0 d7 J, ^1 v3 g$ n/ a! Y  i) d" i6 F- D
https://blog.csdn.net/sn_qmzm521/article/details/80756396
3 N! j( K# W9 rhttps://blog.csdn.net/Hiking_Tsang/article/details/84788448
, s1 |/ J! U, e/ Q5 r
" k0 A0 e, c. \0 f+ G" n  z
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-18 06:57 , Processed in 0.031351 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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