Mic*_*ray 7 .net c# sockets asynchronous
看来,当您Socket.AcceptAsync使用有效呼叫SocketAsyncEventArgs并且SocketAsyncEventArgs.Completed事件已正确装配并且在很长一段时间内未接受任何连接时,它只会重置连接.虽然,我Socket.ReceiveTimeout和Socket.SendTimeout他们都是零.
我不确定如何设置接受连接的超时,即使这是一个好主意.有没有人有一个解决方法,也许有一些信息,为什么这是默认行为?
我在Microsoft Connect上提交了一个错误报告,看看他们是否有任何理由说明为什么超时期限不稳定.有时它会在五分钟内超时,其他时间则超过两小时.
经过一番尝试后,我发现单个 SYN -> SYN-ACK -> RST 序列将引发事件SocketAsyncEventArgs.Completed并导致SocketAsyncEventArgs.SocketError属性变为SocketError.ConnectionReset. 看起来这是预期的行为,但这绝对是一个陷阱,应该更好地记录下来。
任何扫描您的服务器端口并进行半开放 SYN 类型扫描的人都会生成类似的流量并导致相同的问题。为了防止软件中出现拒绝服务漏洞,应该处理这一特殊情况。
| 归档时间: | 
 | 
| 查看次数: | 1533 次 | 
| 最近记录: |