Проще общаться через TCP-сокеты, когда вы работаете в пределах границ интрасети, так как вы, вероятно, имеете контроль над машинами в этой сети и можете открывать порты, подходящие для создания соединений TCP.
Через Интернет вы общаетесь с чужим сервером на другом конце. Они крайне маловероятны , чтобы иметь какой - либо старый сокет открытым для соединений. Обычно у них будет только несколько стандартных, таких как порт 80 для HTTP или 443 для HTTPS. Итак, для связи с сервером вы обязаны подключиться через один из этих портов.
Учитывая, что это стандартные порты для веб-серверов, которые обычно используют HTTP, вы обязаны соблюдать протокол HTTP, иначе сервер не будет с вами общаться. Назначение веб-сокетов состоит в том, чтобы позволить вам инициировать соединение через HTTP, а затем договориться об использовании протокола веб-сокетов (при условии, что сервер способен на это), чтобы позволить поток сообщений, более похожий на «сокет TCP».