Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Одновременное записывание/считывание данных в сокет [D7, Win2k]


radium ©   (2005-05-19 22:12:00) 

Доброго времени суток!

Хочу сделать так: в клиенте есть 1 блокируемый сокет (напрямую использую WinSock) и 2 потока(thread) - записывающий и считывающий. Возможно ли пока в одном потоке функция recv ждёт данных от сервера, во втором потоке данные посылать на сервер функцией send используя этот же сокет?


Digitman   (2005-05-20 08:11:00) [1]


> Но только какая-то одна!


разумеется.

и называется это сторона не клиентом или сервером, а передающейстороной.

соответственно другая сторона тоже ни клиент и не сервер, а принимающаясторона


Eraser   (2005-05-19 23:15:00) [2]

Alexander Panov ©
После подключения любая сторона может быть инициатором передачи данных.


Но только какая-то одна!


Alexander Panov   (2005-05-19 23:12:00) [3]

Eraser ©   (19.05.05 23:08) [9]
Метод Connect есть только у клиента


После подключения любая сторона может быть инициатором передачи данных.


Eraser   (2005-05-19 23:08:00) [4]

Alexa mder Panov- это так специально задумано? )

Это как?

Метод Connect есть только у клиента.


Alexamder Panov   (2005-05-19 22:57:00) [5]


> Но учти, что команды посылать может только клиент...


Это как?


Eraser   (2005-05-19 22:53:00) [6]

radium   (19.05.05 22:12)

Но учти, что команды посылать может только клиент... а сервер на них только отвечает (воможно тоже командами).


radium   (2005-05-19 22:48:00) [7]

Буду копать в сторону асинхронных. Thnx.


Eraser   (2005-05-19 22:40:00) [8]

radium   (19.05.05 22:38) [3]
Данные могут поступать от сервера к клиенту


Вот в этом то и загвоздака...


Eraser   (2005-05-19 22:39:00) [9]

radium   (19.05.05 22:34) [2]

Нельзя пока производится опирация ввода производить операцию вывода... ни у синхронных ни у асинхронных.

С пом. асинхронных можно создать видимость такого действия. Но одновременно не получится.


radium   (2005-05-19 22:38:00) [10]

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


radium   (2005-05-19 22:34:00) [11]

Асинхронные подойдут?


Eraser   (2005-05-19 22:27:00) [12]

radium   (19.05.05 22:12)

Невозможно!


Наверх

Титульная страница Поиск, карта сайта Написать письмо