Я пытался разработать встроенный веб-сервер в приложении, которое я создал. По сути, у нас есть основной процесс, который создает простой веб-сервер (с использованием ServerSocket), а затем основной процесс (теоретически) будет работать.
Main(){
doingStuff();
WebServer server = new WebServer();
server.run();
doingMoreStuff();
}
public class WebServer implements Runnable{
ServerSocket inbound;
//constructor
WebServer(){
inbound = new ServerSocket(9687);
}
public void Run(){
Socket client;
while(true){
client = inbound.accept();
SomeClass threadedClassThatHandlesClientMessage = new SomeClass(client);
someclass.run();
}
}
}
В предыдущем псевдо-коде я знаю, что поток с блоками вызова ServerSocket accept () прекращает работу потока класса WebServer, а также основного потока. Есть ли что-то, чего мне не хватает?
Я знаю, что могу создать две программы, которые могут работать в тандеме как отдельные процессы, но я надеялся избежать любого IPC и использовать один процесс с обработкой данных в одном потоке и общим сокетом сервера, получающим данные в отдельная тема. Хотя я все еще новичок во всем этом, я совершенно уверен, что это одна из тех простых вещей, которые я упустил из виду, но я был бы очень признателен за любую помощь, которую вы могли бы оказать.