Должен ли я вызывать socket.close () каждый раз? - PullRequest
0 голосов
/ 15 января 2019

Я реализовал базовое приложение синхронизации на 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) {
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...