如何在使用java的rest调用中始终调用相同的套接字?
我相信我的问题很简单,但我不知道从哪里开始,我正在使用java套接字打开一个连接,这个连接是从端点调用打开的如何在使用java的rest调用中始终调用相同的套接字?,java,rest,web-services,session,serversocket,Java,Rest,Web Services,Session,Serversocket,我相信我的问题很简单,但我不知道从哪里开始,我正在使用java套接字打开一个连接,这个连接是从端点调用打开的 private Server server; @CrossOrigin(origins = "*") @GetMapping(path = "/connect") public void connect() throws IOException { this.server = new Server(3242); } 服务器
private Server server;
@CrossOrigin(origins = "*")
@GetMapping(path = "/connect")
public void connect() throws IOException {
this.server = new Server(3242);
}
服务器内部连接到套接字:
public class Server {
private ServerSocket serverSocket;
private Socket clientSocket;
private int port;
public Server(int port) throws IOException {
.
.
serverSocket = new ServerSocket(this.port);
clientSocket = serverSocket.accept();
.
.
}
打开此连接后,我将执行多个对各种Web服务的调用,下面是一个调用示例:
@CrossOrigin(origins = "*")
@GetMapping(path = "/presence/{idUser}")
public voi presence(
@PathVariable("idUser") Long idUser){
this.server.registerPresence(idUser);
}
但是所有调用都会引用连接上的同一个打开的套接字
我的问题来了,请注意,在调用端点进行连接后,我创建了一个类型为“Server”的对象,然后这个服务器类型的对象包含一个“clientSocket”,为了与服务器上连接的客户端进行交互,我需要这个clientSocket,如何始终保持连接期间创建的相同“Server”
这个端点将被几个客户端调用,我希望每个人都能访问创建的同一个“服务器”,我不能为每个客户端创建一个“服务器”,它将始终是相同的。。。我该怎么做