Похожие чаты

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 ответов

11 просмотров

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

Im so lazy to read rn lol

Dont use read, read() use readfully

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Карта сайта