Я реализовал базовое приложение синхронизации на Java. Он работает с кучей обменов сообщениями и файлами при необходимости.
На биржах я всегда создаю новый ServerSocket, принимаю соединение, закрываю serverSocket, а когда обмен завершается, закрываем сокет на стороне сервера. То же самое для клиента без части serverSocket.
Но так как я обмениваюсь около 10 сообщений за цикл, это правильная вещь, или я должен открывать и закрывать, когда она запускается и когда она заканчивается?
Я делаю это для того, чтобы сделать обмен более безопасным.
Вот код сервера:
/**
* Calling this when I want to exchange something
*/
public void connect() {
try {
serverSocket = new ServerSocket(port);
socket = serverSocket.accept();
serverSocket.close();
//Socket will be used for operations
} catch (IOException e) {
}
}
/**
* Calling this when exchange is done
*/
public void close() {
try {
socket.close();
} catch (IOException e) {
}
}