Сколько стоит открытие сокета TCP всякий раз, когда вы хотите отправить запрос, влияет на производительность? - PullRequest
1 голос
/ 16 января 2020

Что я спрашиваю, так это то, сколько всегда открывает сокет TCP val socket: Socket("198.51.100.1", 9999) всегда, когда вы собираетесь отправить запрос socket.outputstream().write("Hello World!".toByteArray()), а затем закрывает его socket.close(), на производительность программы / приложения? Я разрабатываю приложение, которое всегда открывает новый сокет с использованием сопрограмм, однако проблема была в конечном устройстве, порты начинались с 53000 (или что-то в этом роде), поэтому порты для каждого сокета заполнялись очень быстро.

Я спрашиваю, как это повлияет на производительность? Спасибо.

1 Ответ

1 голос
/ 16 января 2020

TCP очень медленно инициализируется из-за алгоритма предотвращения перегрузки. Вы должны заботиться не о портах (если вы не делаете lot запросов и утечки соединений), а о времени инициализации. Если вы можете использовать keepalive-сокеты, это гораздо предпочтительнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...