[] символ перед сообщением WebSocket? - PullRequest
0 голосов
/ 03 февраля 2011

Я играю с веб-сокетами и заметил, что когда мой сервер отправляет сообщение клиенту, перед сообщением появляется дополнительный символ [].Это мешает JS правильно проанализировать JSON.

Есть идеи, что это за персонаж ???

Ответы [ 4 ]

2 голосов
/ 16 марта 2011

Нашел решение: с помощью js просто используйте функцию замены примера javascript, предположим, что msg - это строка, возвращаемая функцией websocket.message

msg = $.parseJSON(msg.data.replace('\0', ''));

Или без jQuery:

msg = JSON.parse(msg.data.replace('\0', ''));

Надеюсь, кто-нибудь найдет это полезным.

1 голос
/ 31 марта 2011

Это не нормально, что ВЫ (Клиент) видите этот разделитель \ x00 в своем сообщении!

Обычно ваше сообщение выглядит так: \ x00 MSG \ xFF. \ x00 и \ xFF будут обрезаны на стороне клиента, поэтому должна быть проблема на стороне сервера ... посмотрите, что вы не оборачиваете сообщение дважды!?

1 голос
/ 03 февраля 2011

В дополнение к HTTP-подобному рукопожатию между клиентом и сервером каждое сообщение начинается с '\ x0' и заканчивается '\ xff'.

В будущих черновиках протокола WebSockets (после 03 /76), разделители кадров были заменены кадрированием, которое включает в себя начальную длину и не завершающий специальный символ.

0 голосов
/ 03 февраля 2011

это разделительные символы для обозначения начала и конца.

Лучший

Раффаэль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...