Size: a a a

cxx.Дискуссионная

2020 March 09

FF

Flex Ferrum in cxx.Дискуссионная
ivan
Флаги помогут? Я написал сразу такую вещь, что серверный поток и внутри явно вызывается клиентский. Это уродско. Начал разбираться. И в итоге везде реализации через два процесса. А я хочу логику записи/чтения задать сразу для одного объекта - класса, который с пайпом (одним) то и работает. И походу придется явно процесса два создавать и в нужных методах смотреть кто кого...
Да по идее проблем не должно быть. Серверный конец открывается в одном потоке, клиентский - в другом, они начинают общаться. Два процесса нагляднее для примеров, но не обязательны. Другое дело, зачем в рамках одного процесса пайп... Мож проще очередь какую затащить? Хотя бы стандартную. С синхронизацией на event'ах?
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Till Schneider
мой первый язык программирования QBasic
Автолисп в блокноте:D
источник

i

ivan in cxx.Дискуссионная
Flex Ferrum
Да по идее проблем не должно быть. Серверный конец открывается в одном потоке, клиентский - в другом, они начинают общаться. Два процесса нагляднее для примеров, но не обязательны. Другое дело, зачем в рамках одного процесса пайп... Мож проще очередь какую затащить? Хотя бы стандартную. С синхронизацией на event'ах?
С последним не работал, поэтому мб такой ступор
источник

FF

Flex Ferrum in cxx.Дискуссионная
OVERLAPPEDIO позволяет получить поведение типа корутин в рамках одного потока. Пока данные идут в пайп - обрабатываем предыдущую порцию и встаём на ожидание евента. То есть не блокируемся.
источник

FF

Flex Ferrum in cxx.Дискуссионная
Kirill Kaymakov
Автолисп в блокноте:D
Ещё одна жертва автокада... :)
источник

i

ivan in cxx.Дискуссионная
Flex Ferrum
OVERLAPPEDIO позволяет получить поведение типа корутин в рамках одного потока. Пока данные идут в пайп - обрабатываем предыдущую порцию и встаём на ожидание евента. То есть не блокируемся.
Pipe[i].dwState = Pipe[i].fPendingIO ?
        CONNECTING_STATE : // still connecting
        READING_STATE;

Да, надо будет обязательно покопать, ближе к тому, что нужно, спасибо
источник

FF

Flex Ferrum in cxx.Дискуссионная
ivan
Pipe[i].dwState = Pipe[i].fPendingIO ?
        CONNECTING_STATE : // still connecting
        READING_STATE;

Да, надо будет обязательно покопать, ближе к тому, что нужно, спасибо
Не уверен, что получится именно так, но концепция типа такой, да.
источник

i

ivan in cxx.Дискуссионная
А то многопоточный пример сервера как-то на одну дорожку привел, и я заколебался тестировать все
источник

FF

Flex Ferrum in cxx.Дискуссионная
ivan
А то многопоточный пример сервера как-то на одну дорожку привел, и я заколебался тестировать все
Если я всё правильно понимаю (и помню) там будет типа посиксового select'а: WaitForMultipleObjects на хендлах пайпов и IO. Ну ветвление в зависимости от того, что стрельнуло.
источник

i

ivan in cxx.Дискуссионная
Может не явно то, что нужно, но хотя бы начиная с хэндлинга состояний должно яснее стать как и что дальше юзать
источник

π

πvario in cxx.Дискуссионная
Аллаху акбан /ban
источник

G

GNU/Совунья in cxx.Дискуссионная
πvario
Аллаху акбан /ban
Lmao
источник

v

vehlwn in cxx.Дискуссионная
источник

BB

Bohdan Bessonov in cxx.Дискуссионная
Подкрысник
Взял в оборот, спасибо
источник

π

πvario in cxx.Дискуссионная
Обучение в стиле хай-тек
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
Шо это?
источник

TS

Till Schneider in cxx.Дискуссионная
Доллар к рублю с несколько часов вырос на over 5 позиций
источник

TS

Till Schneider in cxx.Дискуссионная
🙈🙈🙈
источник

BB

Bohdan Bessonov in cxx.Дискуссионная
Till Schneider
Доллар к рублю с несколько часов вырос на over 5 позиций
Из-за подкрысника?
источник

A

Alex Ф-ф-фэils!🌠︙ in cxx.Дискуссионная
ivan
Господи виндовые пайпы треш какой-то, почему нельзя логику иметь в двух потоках. Везде реализации с бесконечными циклами, в каком же я шоке мля
Можно иметь, просто никто не осилил в опенсурсе обычно
источник