Похожие чаты

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

2 просмотра

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

Im so lazy to read rn lol

Dont use read, read() use readfully

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
61
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Conversation at a festival with a non-crpto person (not a normie by any stretch, though): * person: tell me about crypto, me: ok, the original idea is p2p sound money for the...
molecular#123 🐓
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
Today, DENT achieved a significant step forward in DENTX adoption 🥳 Getting DENTX and starting staking is much easier: DENTX is available on Uniswap! Everyone can swap their ...
Thomas
3
I bought some PHA tokens on Kucoin, which is the best wallet to store and easy to use?
AMR
19
Hey there Which is the best Linux destro for developers (coding)? To my research on reddit, they said Linux mint is good for mid level spec and Ubuntu for high Lev hardwar...
Wiz 🪄
11
Карта сайта