Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

Одновременное записывание/считывание данных в сокет   Найти похожие ветки 

 
radium   (2005-05-19 22:12) [0]

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

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


 
Eraser ©   (2005-05-19 22:27) [1]

radium   (19.05.05 22:12)

Невозможно!


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

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


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

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


 
Eraser ©   (2005-05-19 22:39) [4]

radium   (19.05.05 22:34) [2]

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

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


 
Eraser ©   (2005-05-19 22:40) [5]

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


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


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

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


 
Eraser ©   (2005-05-19 22:53) [7]

radium   (19.05.05 22:12)

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


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


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


Это как?


 
Eraser ©   (2005-05-19 23:08) [9]

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

Это как?

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


 
Alexander Panov ©   (2005-05-19 23:12) [10]

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


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


 
Eraser ©   (2005-05-19 23:15) [11]

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


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


 
Digitman ©   (2005-05-20 08:11) [12]


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


разумеется.

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

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



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
14-1123770169
Андрей Жук
2005-08-11 18:22
2005.09.04
Инструменты тестирования ПО


3-1122014076
DimonS
2005-07-22 10:34
2005.09.04
Как организовать одновременный доступ к БД Paradox?


14-1123165300
Jeer
2005-08-04 18:21
2005.09.04
Satana


14-1123683162
Kerk
2005-08-10 18:12
2005.09.04
Абрамович предложил своим футболистам отдохнуть на Чукотке


5-1096957853
Jiny
2004-10-05 10:30
2005.09.04
Как закрасить закладки компоненты TPageControl