【发布时间】:2011-05-18 09:02:01
【问题描述】:
我正在用 Erlang 实现一个与手机客户端对话的 TCP 服务器。 手机经常下线,所以服务器一定能检测到。 因此,我希望服务器在超时的情况下向客户端发送消息,以便在发生超时时关闭连接并将客户端标记为脱机。
我在服务器上使用了这个监听选项:
[{certfile, "cert.pem"},
{keyfile, "key.pem"},
{reuseaddr, true},
{active, false},
{send_timeout, 10000}]
服务器和手机建立连接后,我将手机切换到飞行模式(关闭所有无线信号),并在服务器上执行ssl:send。发送函数高兴地返回ok,就好像数据包传输成功一样。
我做错了什么?
【问题讨论】:
-
你从哪里得到 send_timeout 的?查看
ssl模块,我没有看到该选项。 -
他是从
inet那里得到的。例如,如果使用ssl:connect/4,您可以提供任何套接字选项,包括来自inet的超时。