召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1562|回复: 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得不到响应,这里设置时间可以跳过不会陷入死循环8 m$ `' Y2 m/ Y
现在socket读写数据的流程是这样的:
: E5 C: z$ v5 j% ?0 Y/ f, w2 G2 V4 F# P$ N6 M/ t
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);3 c2 p. x. C; v; X9 a9 v( V7 {

  M0 t& i, o" w# ?- ~, ?socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>60, "usec"=>0 ) );
: K6 u6 ]* n; R& z4 S# R2 R2 U
) s/ `! A9 d% F0 b; Xsocket_connect($socket, IP, PORT);$ B  q- h8 `1 k0 q4 l7 W8 g

5 J( n' T9 G/ x8 H4 [6 dsocket_write($socket, $strxml, strlen($strxml);% ^: @& K) @( x& H" R7 d; R
$back = socket_read($socket, 8192);
2 X' y) P& u0 _  R  ^# t( ~0 N6 ?$ U0 W; U6 o
socket_read有时候收不到返回数据,应该是超时了,如何修改超时时间?4 N! @7 d, }7 z" w' c; r
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO,array("sec"=>3, "usec"=>0));//接受超时
! f# }- J& M7 U" k: }7 p- Dsocket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO,array("sec"=>2, "usec"=>0));//发送超时) z, I$ }% t- r
3 |' S7 b2 V0 U* @$ U4 H7 K. S
https://blog.csdn.net/sn_qmzm521/article/details/807563965 ]" H' o( q8 E6 |( Q1 j9 H+ L, ~. h5 k
https://blog.csdn.net/Hiking_Tsang/article/details/84788448# k' O1 V& D0 T) X- |1 r
5 H, |( s4 \- a- Y& |3 s, F
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-6 07:11 , Processed in 0.037868 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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