Вверх ↑
Ответов: 4630
Рейтинг: 749
#1: 2017-05-24 12:54:31 ЛС | профиль | цитата
Разнеси сервер и клиент в разные приложения. Либо используй AsyncEvents=True, и doSendAsync. Потому что пока ты отправляешь данные (синхронно в главном потоке), главный поток ожидает пока они не будут отправлены. В это время принять данные можно только при AsyncEvents=True, но вывести их в визуальные компоненты невозможно, потому что главный поток занят. Где-то там ошибка появляется.

Кроме того, событие onReceive выдаёт данные не за один раз, а порциями примерно до 8КБ. Тебе в событии onReceive нужно дождаться прихода всех данных. Сделать это можно, если перед данными отправлять их длину, а при приёме считывать длину и накапливать данные до получения этого количества. Пример можно глянуть тут: /topic/65137.
карма: 26

1
Голосовали:-= DriveR =-
Редактировалось 1 раз(а), последний 2017-05-24 12:55:02