Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从服务器端点关闭连接的最佳做法是什么?_Java_Sockets_Tyrus - Fatal编程技术网

Java 从服务器端点关闭连接的最佳做法是什么?

Java 从服务器端点关闭连接的最佳做法是什么?,java,sockets,tyrus,Java,Sockets,Tyrus,我有一个定制的配置程序,可以抓取cookie并对其进行处理。输出将添加到配置的用户属性中 在@OnOpen-注释的方法中,我将该值与路径中的值进行比较。如果存在不匹配,那么我想关闭套接字,原因是1008违反了策略 实现这一目标的最佳方式是什么 我可以: 手动调用@OnClose方法,传递原因 抛出异常并让调用@OnError 还有别的吗 我希望插座关闭,Tyrus清理资源。我查看了文档,但没有看到关于如何清理资源的答案。任何帮助都将不胜感激。谢谢。永远不要手动调用@OnClose——那不会有任何

我有一个定制的配置程序,可以抓取cookie并对其进行处理。输出将添加到配置的用户属性中

@OnOpen
-注释的方法中,我将该值与路径中的值进行比较。如果存在不匹配,那么我想关闭套接字,原因是1008违反了策略

实现这一目标的最佳方式是什么

我可以:

  • 手动调用
    @OnClose
    方法,传递原因
  • 抛出异常并让调用
    @OnError
  • 还有别的吗

  • 我希望插座关闭,Tyrus清理资源。我查看了文档,但没有看到关于如何清理资源的答案。任何帮助都将不胜感激。谢谢。

    永远不要手动调用
    @OnClose
    ——那不会有任何效果


    请参阅。

    谢谢。因此,最好的做法是调用
    Session.close
    而不是抛出类似
    NotAuthorizedException
    (这是我在REST服务中处理这个问题的方式)。WebSocket API没有像JAX-RS这样的异常外观,但是。。如果您想抛出异常,可以-@OnError将被调用,然后您应该通过调用Session.close(..)来处理该异常。