我现在正在设计一个使用套接字的火车票预订系统。客户可以查票、订票和取消票。客户端将向服务器发送不同的对象,如 SearchRequest、BookRequest 和 CancelRequest。在服务器端,我希望有三个线程池来处理每个请求。这是我处理搜索请求的方式。
searchserverSocket = new ServerSocket(search_portNum);
search_pool = Executors.newFixedThreadPool
(Runtime.getRuntime().availableProcessors()*POOL_SIZE);
public void service(){
while(true){
Socket search_socket = null;
try{
search_socket = searchserverSocket.accept();
SearchHandler search_han = new SearchHandler(search_socket,search_request);
search_pool.submit(search_han);
}catch(IOException e){
e.printStackTrace();
}
}
}
我现在很困惑如何处理其他两个请求。我应该在不同的端口上创建一个新的 ServerSocket 吗?服务器如何识别不同类型的请求?