微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何始终通过 WebService 调用相同的 ServerSocket?

如何解决如何始终通过 WebService 调用相同的 ServerSocket?

我想在这里解决一个问题的想法,让我解释一下情况,我有一个带有“java.net.ServerSocket”的端点,这个服务将通过webservice第一次触发,(当这个端点被称为clientSocket时将等待连接)

private ServerSocket serverSocket;
private Socket clientSocket;

@GET
@Path("/conect")
public String conect() throws IOException { 
    
    serverSocket = new ServerSocket(3242);      
    clientSocket = serverSocket.accept(); // I need to save this connection to use on all other calls to any other endpoint
    ...
    ...

当与客户端建立连接时,我需要让这个 clientSocket 始终打开,我需要保存这个 clientSocket 以供 web 服务在其他调用中使用。下面我展示了一个使用端点记录用户在线状态的示例。

@GET
@Path("/register-presence/{userId}")
public String registerPresence(@PathVariable("userId") Long userId){    
    
    ...
    ...

    OutputStream output = clientSocket.getoutputStream(); // I need to use the clientSocket here
    PrintWriter writer = new PrintWriter(output,true);

    writer.println("lUHXGbLOUaO4JczgkI2oXHTmuu/1Z0OYKQz6nYKyxw5xymw= ");
    writer.flush();
    
    return "ok";
}

调用某些端点时,我正在安装的这个系统将使用这个 clientSocket 来执行各种操作。

主要问题是我需要建立连接,连接后我需要保存这个连接以供webService其他时候使用。

只要连接处于活动状态,保存到 clientSocket 的连接就必须可用。 ClientSocket 将用于由多个不同设备进行的所有各种调用。这是我不知道如何解决的问题嘿嘿。有什么想法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。