У меня есть клиент/серверная программа, которая использует сокеты. На стороне сервера у меня естьКак уменьшить время соединения сокетов в java?
ServerSocket s=new ServerSocket(8888);
s.setSoTimeout(10000);
Socket incoming=s.accept();
ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
ObjectInputStream ios = new ObjectInputStream(s.getInputStream());
s.close();
oos.close();
ios.close();
incoming.close();
На стороне клиента я имею
Socket s=new Socket("172.17.20.47", 8888);
ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
ObjectInputStream ios = new ObjectInputStream(s.getInputStream());
s.close();
oos.close();
ios.close();
Когда я измерил время, как:
long start= System.CurrentTimeMillis();
Socket incoming=s.accept();
long end= System.CurrentTimeMillis();
System.out.println(end-start);
я показал, что Socket incoming=s.accept();
занимает ~ 450ms. Как я могу уменьшить это время? Потому что вся остальная часть кода занимает до ~ 15 мс.
пинг между компьютерами является < 1мс
'accept()' блокируется до появления запроса. Таким образом, ваше измерение времени неточно. –