Erlang catch 断开客户端连接
我有用 erlang 和命令处理程序编写的 tcp 服务器。如果客户端连接到我的服务器,然后关闭我如何捕获网络断开连接?
I have tcp server written in erlang and command handler. If client connect to my server, and then closing how can i catch network disconnect?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设您正在使用 vanilla gen_tcp 来实现您的服务器。
在这种情况下,当客户端关闭套接字时,接受进程(将 Socket 传递给的进程)将收到一条 {tcp_close, Socket} 消息。
erlang gen_tcp 文档中的示例代码。
I presume u are using vanilla gen_tcp to implement your server.
In which case, acceptor process (the process you pass the Socket to) will receive a {tcp_closed, Socket} message when the socket is closed from the client end.
sample code from the erlang gen_tcp documentation.
您是否使用单独的链接进程来处理来自每个客户端的命令?
如果是这样,你可以考虑在主进程中捕获退出......
are you using a separate linked process to handle commands from each client?
if so you can think of trapping exits in the main process...