Як приклад ми приведемо вихідні тексти двох додатків Java, що працюють із потоковими сокетами. Один із цих додатків називається SocketServ і виконує роль сервера, друге називається SocketClient і служить клієнтом.
Додаток SocketServ виводить на консоль рядок "Socket Server Application" і потім переходить у стан очікування з'єднання із клієнтським додатком SocketClient.
Додаток SocketClient установлює з'єднання із сервером SocketServ, використовуючи потоковий сокет з номером 9999 (цей номер обраний нами довільно). Далі клієнтський додаток виводить на свою консоль запрошення для вводу рядків. Уведені рядки відображаються на консолі й передаються серверному додатку. Сервер, одержавши рядок, відображає її у своєму вікні й посилає назад клієнтові. Клієнт виводить отриману від сервера рядок на консолі.
Коли користувач уводить рядок "quit", цикл вводу й передачі рядків завершується.
Весь процес показаний на мал. 7 і 8.
Рис. 7. Вікно клієнтського додатка
Рис. 8. Вікно серверного додатка
Тут у вікні клієнтського додатка ми ввели кілька рядків, причому останній рядок був рядком "quit", що завершив роботу додатків.