我有两个erlang节点在两台不同的计算机上运行,在一个节点上我有一个ssl客户端,在另一个节点上我有ssl服务器。两台电脑都通过wifi连接到互联网。
一切正常,但我想知道为什么如果我关闭客户端笔记本电脑中的wifi,我不会收到{ssl_closed,Socket}消息。
插座选项包括:
{active, true}, {keepalive, true}我的意思是,套接字不应该是有效的anymore..right?
发布于 2012-08-24 22:37:36
全局TCP保持连接超时值通常设置为类似于保持连接消息之间的7200秒的值。如果你在Linux系统上,你可以用sysctl -a | grep keepalive检查它。
不建议修改此值,因为它是全局配置。相反,您应该将ping消息添加到您的应用层协议(允许客户端不时地发送ping),服务器可以简单地丢弃它。
似乎可以通过inet:setopts/2函数和使用raw选项来设置每个套接字的保持连接超时,但我不知道是否推荐这样做(它不能在平台之间移植)
https://stackoverflow.com/questions/12109584
复制相似问题