私はErlangで携帯電話クライアントと通信するTCPサーバーを実装しています。 携帯電話はオフラインになるので、サーバーはそれを検出できる必要があります。 したがって、サーバーにタイムアウトを指定してクライアントにメッセージを送信し、タイムアウト が発生すると接続が閉じられ、クライアントがオフラインとマークされるようにします。erlangソケットの送信タイムアウトが発生しない
私は、これはサーバー上のオプションを聞く使用:私は、サーバーと携帯電話との間の接続をセットアップする
[{certfile, "cert.pem"},
{keyfile, "key.pem"},
{reuseaddr, true},
{active, false},
{send_timeout, 10000}]
した後、私は(すべての無線信号をシャットダウンします)機内モードに電話を切り替えて、サーバー上でssl:sendを実行します。送信関数happlyyは、パケットが正常に送信されたかのようにokを返しました。
どうしたのですか?
どこからsend_timeoutを取得しましたか? 'ssl'モジュールを見ると、そのオプションは表示されません。 – ZeissS
彼はそれをinetから手に入れました。たとえば 'ssl:connect/4'を使用している場合、' inet'からのタイムアウトを含むソケットオプションを指定することができます。 –