Java 如何始终通过WebService调用相同的ServerSocket?
我想了解一下这里的一个问题,让我解释一下情况,我有一个带有“java.net.ServerSocket”的端点,这个服务将在第一次通过webservice触发,(当这个端点被称为clientSocket时,它将等待连接) 当与客户端建立连接时,我需要保持此clientSocket始终处于打开状态,我需要保存此clientSocket以供webservice在其他调用中使用。下面我展示了一个使用端点记录用户状态的示例Java 如何始终通过WebService调用相同的ServerSocket?,java,sockets,serversocket,outputstream,webservice-client,Java,Sockets,Serversocket,Outputstream,Webservice Client,我想了解一下这里的一个问题,让我解释一下情况,我有一个带有“java.net.ServerSocket”的端点,这个服务将在第一次通过webservice触发,(当这个端点被称为clientSocket时,它将等待连接) 当与客户端建立连接时,我需要保持此clientSocket始终处于打开状态,我需要保存此clientSocket以供webservice在其他调用中使用。下面我展示了一个使用端点记录用户状态的示例 @GET @Path("/register-presence/{use
@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执行各种操作
主要的问题是,我需要建立连接,在连接之后,我需要保存此连接,以便Web服务在其他时间使用
只要连接处于活动状态,保存到clientSocket的连接就必须可用。ClientSocket将用于由多个不同设备进行的所有各种调用。这就是我不知道如何解决的问题呵呵。有什么想法吗?您的问题是您不知道如何使
clientSocket
成为“全局”或“足够共享”,以便将来所有传入的客户端连接都可以访问它,或者它是可访问的,但使用它在某种程度上“不起作用”?@TripeHound,因此,我需要使clientSocket始终可访问,但只能在这个Web服务中。。。当连接到客户端时,我需要保持此clientSocket打开以便始终使用,无论哪个设备调用该服务,我不想连接每个独立用户,我需要调用该服务的每个用户使用相同的clientSocket来执行操作。
@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";
}