Разнеси сервер и клиент в разные приложения. Либо используй AsyncEvents=True, и doSendAsync. Потому что пока ты отправляешь данные (синхронно в главном потоке), главный поток ожидает пока они не будут отправлены. В это время принять данные можно только при AsyncEvents=True, но вывести их в визуальные компоненты невозможно, потому что главный поток занят. Где-то там ошибка появляется.
Кроме того, событие onReceive выдаёт данные не за один раз, а порциями примерно до 8КБ. Тебе в событии onReceive нужно дождаться прихода всех данных. Сделать это можно, если перед данными отправлять их длину, а при приёме считывать длину и накапливать данные до получения этого количества. Пример можно глянуть тут: /topic/65137.
Ответов: 4630
Рейтинг: 749
|
|||
карма: 26 |
| ||
Голосовали: | -= DriveR =- |
Редактировалось 1 раз(а), последний 2017-05-24 12:55:02