Що таке сокет сервера в Java?

Серверний сокет чекає надходження запитів через мережу. Він виконує певну операцію на основі цього запиту, а потім, можливо, повертає результат запитувачу. Фактична робота серверного сокета виконується екземпляром класу SocketImpl.

Сокети зазвичай використовуються для взаємодії клієнта і сервера. Типова конфігурація системи розміщує сервер на одній машині, а клієнти – на інших машинах. Клієнти підключаються до сервера, обмінюються інформацією, а потім відключаються. Сокет має типовий потік подій.

Об’єкт ServerSocket очікує підключення. Об’єкт Socket ініціює з’єднання. Об'єкти Socket використовуються для передачі даних.

По суті, сокет діє як поштова адреса, яка вказує, куди і як надсилати трафік туди й назад через мережу, тоді як номер порту представляє один ідентифікаційний елемент у цій конкретній адресі.

Java підтримує такі три типи сокетів:

  • Потокові сокети.
  • Сокети дейтаграм.
  • Необроблені сокети.

ServerSocket — це клас java.net, який забезпечує незалежну від системи реалізацію серверної сторони з’єднання клієнт/сервер. Конструктор для ServerSocket створює виняток, якщо він не може прослухати вказаний порт (наприклад, порт уже використовується).