gpt4 book ai didi

java - 在 Java 中成功关闭套接字时可以触发事件吗?

转载 作者:行者123 更新时间:2023-12-02 00:27:39 28 4
gpt4 key购买 nike

引用我之前问的问题,socket关闭需要一些时间才能操作: Why it warns me the socket is closed when I quit the programme?

        providerSocket.close();

当我关闭套接字时,我可以要求它运行几个代码吗?谢谢。

最佳答案

我遇到了this problem与 SocketChannel 相比,据我所知(并且据 Stack Overflow 所知),JDK 没有支持的方法来执行此操作。然而,我并没有因此而阻止我。通过适当的封装,您可以执行以下操作:

public class SocketWrapper implements Closeable {
private final Socket socket;

public SocketWrapper(Socket socket) {
this.socket = socket;
}

/**
* Provide all the methods you need in your application
* for accessing the internal socket
*/

public void close() throws IOException {
socket.close();
fireClosedEvent();
}

/**
* Event firing methods, etc.
*/
}

这并不像我想要的那么灵活,这就是为什么我仍然没有回答我的问题,但这对你来说可能是一个很好的解决方案。当然,想出一个比 SocketWrapper 更好的名称可能是个好主意。

关于java - 在 Java 中成功关闭套接字时可以触发事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694856/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com