Похожие чаты

Hello. First, sorry for my English. So, I'm developing client-server

application using NIO - a server handles multiple connections using Selector and stores clients. Each client also has a selector for reading messages from server (server periodically sends packets to clients - commands), so server may write data to the any client anytime. Sometimes server sends more than one message - it loops over some ready data packets and writes them to client simultaneously. Well, the problem is that client doesn't recieve that packets properly when server writes a lot of packets the same time. It's hard to explain why can it happen, for example - server writes 10 packets of 10 bytes, so client should recieve that 10 packets, but read() method on client side returns one packet of 90 bytes and one more of 10. Well, i tried to switch to blocking mode - it helped. I tried to add delay (sleep for 2 ms) before read() on client side - it helped. It really looks like specific behaviour of non-blocking socket channel. So, is there a way to write, for example, 100 packets the same time, in the loop, and read each of them properly on client-side? (without switching to blocking mode / avoiding selector)?

3 ответов

9 просмотров

http://urchin.earth.li/~twic/Sequenced_Packets_Over_Ordinary_TCP.html

Im so lazy to read rn lol

Dont use read, read() use readfully

Похожие вопросы

Обсуждают сегодня

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
is that okay?
Samurai 🇯🇵
21
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
How about the project bro Likes the community not that active ?
🅿️abby_FX
19
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте товарищи. А где вы смотрите маркеры/фенотипы клеток, чтобы подобрать антитело для задачи? Есть какой-то ресурс/база данных, или всё ручками по статьям? Мне нужно ...
Abruhmed
14
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта