Socket 阻塞和非阻塞概念 超时时间

概念

1.阻塞:
       阻塞==同步--->例如:发送消息 直到 发送成功 才能发送下一条消息 
                         接收消息 这条消息接收完毕 才能接收下条消息
2.非阻塞
	   非阻塞==异步-->例如:发送消息 不用等到这条消息发送完毕 就可以发送下条消息
						  接收消息 这条消息不用接收完毕 就能接收下条消息
3.对于C# 的Socket
	   Send/Receive -->是同步方法(阻塞线程的)

	   BeginSend/BeginReceive-->异步方法(非阻塞线程)

4.对于发送或接收数据的超时时间来说
	SendTimeout
	ReceiveTimeout
		只对同步设置有效 对异步设置超时时间是无效的 异步的需要自己实现
		[官方文档:](https://docs.microsoft.com/zh-cn/dotnet/api/system.net.sockets.socket.receivetimeout?redirectedfrom=MSDN&view=netframework-4.8#System_Net_Sockets_Socket_ReceiveTimeout)

5.在异步方法中socket就不需要设置超时时间,并且在unity 的 IL2CPP的 IOS中你若使用异步接收数据,设置ReceiveTimeout
   就会不断的socket异常-->**Operation on non-blocking socket would block**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值