Приложение локального чата без доступа в Интернет с использованием сокетов Java
Пользователь А открывает программу, выбирает имя и аватар, нажимает вход в систему, начинает переход в локальную сеть, программа входа пользователя А запускает два потока одновременно, один поток внутри сервисного терминала UDP (номер порта) 9156), используется для ожидания входа других пользователей, другого потока внутри для запуска службы TCP (номер порта 9155), для ожидания соединения Socket других пользователей, в то же время пользователь A также будет использовать UDP-трансляцию пакета UDP. Этот пакет UDP содержит такую информацию, как имя пользователя и IP-адрес, и пакет UDP отправляется всем программам на стороне службы UDP с тем же портом в одной и той же локальной сети, включая эту программу.
Если есть другие онлайн-пользователи, то каждая сторона службы UDP онлайн-пользователя получит этот UDP-пакет, а затем вытащит информацию о пользователе и добавит пользователя A в онлайн-список, поскольку пакет UDP содержит IP-адрес пользователя A, поэтому каждый онлайн-пользователь использует IP-адрес пользователя А, чтобы отправить ответ пользователю А.
Пользователь А ждет некоторое время, он получит ответы от всех онлайн-пользователей, а затем все онлайн-пользователи добавят пользователя А в свой онлайн-список.
Метод чата — это обычный многопоточный способ, при котором два устройства действуют как сервер, можно сказать, что это p2p-приложение.