Ответ 1
Есть ли простой способ заставить WebSocket взаимодействовать с Java Socket?
Из того, что я понимаю, WebSocket работает на стороне клиента, открывая порт 80, подключаемый к серверной стороне и отправляя на HTTP-запрос варианта HTTP 1.1 для согласования соединения WebSocket. Если сервер распознает это, он отправит подходящий ответ, а затем разрешит использование открытого TCP-соединения для полнодуплексного взаимодействия клиент-сервер.
Похоже, можно было бы быстро собрать серверную сторону, которая просто поняла согласование WebSocket, а не полный HTTP. Тем не менее, я думаю, вам лучше смотреть на существующие реализации WebSocket, в том числе на встроенные в HTTP-серверы/стеки протоколов.
Эта страница Wikipedia сравнивает ряд реализаций WebSocket и должна помочь вам решить, какую реализацию на стороне сервера использовать.
Но для прямого ответа на ваш личный вопрос клиент WebSocket может подключаться только к серверу, поддерживающему WebSocket; то есть тот, который может выполнять начальное согласование. (На стороне клиента вы можете реализовать запуск с голого Socket, но вам нужно будет реализовать весь "материал HTTP" поверх этого... для этапа настройки.)