如何解决还是知道打开Erlang套接字
| 我怎么知道用erlang打开套接字还是不打开?解决方法
使用erlang:port_info / 1。如果插座关闭,它将返回“ 0”。例如:
Eshell V5.8.3(用^ G中止)
1> {ok,S} = gen_tcp:connect(\“ localhost \”,8000,[binary,{active,false}])。
{ok,#Port}
2> erlang:port_info(S)。
[{name,\“ tcp_inet \”},
{链接,[]},
{id,634},
{连接的,},
{input,0},
{output,0}]
3> gen_tcp:close(S)。
好
4> erlang:port_info(S)。
未定义
但是请谨慎使用此代码进行防御性编程,因为这不是Erlang方式。最好让您的代码假定套接字是打开的,并且如果由于尝试使用已经关闭的套接字而遇到错误,请使其崩溃并让其他类似主管的错误处理。,当您的应用达到您想知道的程度时,请在终端中尝试此操作
inet:i(),您在说哪种插座?我的猜测是,如果套接字未打开,大多数套接字函数将返回一个错误元组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。