Я получаю байтовые данные с сервера VNC, используя Real VNC, это работает в моем методе / функции:
byte[] readBytes = new byte[count];
sock.Receive(readBytes);
Использование TigerVNC не работает, но это:
byte[] readBytes = new byte[count];
byte[] aByte = new byte[1];
for (int i = 0; i < count; i++)
{
sock.Receive(aByte);
readBytes[i] = aByte[0];
}
Я наткнулся на это довольно быстро, так как, когда я использовал точки останова, исходный код был в порядке с Tight VNC, без прерывания были получены только первые два байта. Мой сокет блокируется и имеет размер приема 1024. Однако я работаю с сервером и клиентом локально, поскольку у меня нет другого способа тестирования.
Вопрос:
Кроме использования дополнительного байта памяти с "aByte" и итерации по X байтам. Есть большая разница в обработке, чем просто получение его напрямую с помощью Socket.Receive? Учитывая, что в какой-то момент я, возможно, получу МБ данных.
Более того, это будет реализовано в Blackberry как Java-приложение, будет ли такой же метод иметь смысл обработки в Java Mobile?
ура, Крейг