召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1527|回复: 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得不到响应,这里设置时间可以跳过不会陷入死循环$ Q% {/ n/ @' }
现在socket读写数据的流程是这样的:
" p: c/ E& I" {$ ], s0 Q( ~
5 s* d% m, J: p% g3 \$ k, r  J$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
. B9 Y: }. l; j  e, l; m, J
3 X6 Z; e( _! Jsocket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>60, "usec"=>0 ) );
/ j) }" `" U8 J; Z9 \$ L5 e/ N9 Y& @% v6 S/ _9 C
socket_connect($socket, IP, PORT);
3 ]* g8 o% v! h# ?$ J+ V; X) U$ n6 E0 O/ D; u) K
socket_write($socket, $strxml, strlen($strxml);/ H8 i. L: A0 D8 z' [2 V
$back = socket_read($socket, 8192);, O- B, V" ]3 u: {1 y

4 w3 e. X4 Y( }1 r# Gsocket_read有时候收不到返回数据,应该是超时了,如何修改超时时间?
: K; U9 w5 \, x, I+ \4 Jsocket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO,array("sec"=>3, "usec"=>0));//接受超时  s+ ~/ S) G5 p  V! K; ]5 F1 P
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO,array("sec"=>2, "usec"=>0));//发送超时; i6 ?+ S5 T) F8 b
- G8 ^. b( Z! x- ]1 H  m
https://blog.csdn.net/sn_qmzm521/article/details/80756396, w% }( l! K( r1 l; m8 S( r% P
https://blog.csdn.net/Hiking_Tsang/article/details/84788448
+ K" ~' F7 G; U( D; }! O  H2 S. J( n6 S1 s) p# q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 08:01 , Processed in 0.038668 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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