Подтвердить что ты не робот

Можно ли отправлять данные при открытии соединения в сети?

Я использую сервлет Jetty Websocket. Когда сервер получает новое соединение, я хочу отправить сообщение, которое будет прочитано функцией onsop для websocket. Я хочу, чтобы это сообщение отправлялось только во время открытия и не использовало регулярное соединение .SendMessage(). Можно ли это сделать? и как?

4b9b3361

Ответ 1

В протоколе нет поддержки, но вы можете сами что-то придумать.

  • Когда ваш сервер завершает рукопожатие, сохраните начальное сообщение, которое вы хотите доставить клиенту.
  • В вашей клиентской функции onopen отправьте запрос "прочитайте начальное сообщение".
  • На вашем сервере убедитесь, что этот клиент не прочитал его начальное сообщение; ответить сообщением; установите флаг, указав, что отправлено начальное сообщение.
  • Теперь ваш клиент и сервер могут отправлять другие сообщения.

Ответ 2

Не забывайте строку запроса. Он действителен в URL-адресе WebSocket.

new Websocket('ws://yoursite.com/path?a=1&b=2&c=3')

Затем вы можете легко разобрать этот URL-адрес на стороне сервера для извлечения данных.