Я использую tornado websocket send/recv сообщение, клиент отправляет сообщение json и сообщение recv сервера и json parse, но почему сервер получает сообщение, которое является сообщением mutil json, например {"a":"v"}{"a":"c"}
, как обрабатывать это сообщениеtornado websocket получить много сообщений, когда on_message называется
0
A
ответ
0
Я пишу fucntion разобрать соответствующее сообщение
def parse_multi_msg(msg):
is_in_quotation = False
aObjs = []
sTemp = ""
for c in msg:
sTemp += c;
if c == '"':
if not is_in_quotation:
is_in_quotation = True
else:
is_in_quotation= False
if c == "}" and not is_in_quotation:
aObjs.append(json.loads(sTemp));
sTemp = "";
return aObjs
1
Возможно, вы должны разграничить отправленные сообщения, поэтому их легко разбить - в этом случае вы могли бы добавить \ n, очевидно, что разделитель не должен происходить в сообщении. Другим способом было бы префикс каждого сообщения с его длиной также четко разграниченным образом, тогда получатель считывает длину, то это количество байтов и анализирует ее.
Смежные вопросы
- 1. Tornado websocket callback on_message
- 2. WebSocket ++, ON_MESSAGE события
- 3. Tornado websocket + Redis
- 4. Tornado Websockets не звонит on_message без пинга
- 5. Tornado websocket blob object
- 6. tornado finish() называется дважды
- 7. Исключения игнорируется в Торнадо WebSocket ON_MESSAGE метода
- 8. Tornado websocket async фоновая задача
- 9. tornado websocket закрытие на стороне сервера
- 10. Tornado io_loop add_future callback не называется
- 11. Tornado secure websocket timeout
- 12. python tornado Ошибка websocket при повторном подключении
- 13. Как получить объект подключения клиента в tornado websocket, Python
- 14. Хостинг приложения tornado/websocket
- 15. масштабируемость tornado websocket chat
- 16. Tornado coroutines внутри websocket
- 17. Tornado websocket pings
- 18. Как передать .png или .jpg файл через websocket в Tornado
- 19. Tornado WebSocket Server без прокси
- 20. Tornado websocket in docker (net :: ERR_CONNECTION_REFUSED)
- 21. Python Tornado: как установить заголовки WebSocket?
- 22. как отправить json заголовок в websocket tornado python?
- 23. Как использовать защищенный websocket (wss) в Tornado
- 24. Tornado WebSocket закрывается раз в минуту
- 25. Клиент python websocket - отправка сообщений с кода python на WebSocketServer
- 26. Как передать websocket для дочернего процесса в Porn Tornado?
- 27. Доступ к методу класса tornado websocket из другого класса
- 28. Параллельные подключения к серверу Tornado WebSocket
- 29. Связь с перекрестным соединением WebSocket (Tornado?)
- 30. WebSocketPayloadException с подключением Tornado и websocket python
Да, что будет работать до тех пор, пока значение JSON не содержит вложенный словаря - внутренний словарь будет иметь первый неупомянут}, которая означает, что вы попробуйте декодировать выражение типа json-like-but-bad-syntax - более общим решением было бы правильно разграничить сообщения. – barny