Главная страница
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.049 c
6-1116530816
Positive
2005-05-19 23:26
2005.09.04
Открытые порты


2-1069204073
Ciber SLasH
2003-11-19 04:07
2005.09.04
Чё за ошибка такая


3-1122310322
Русланка
2005-07-25 20:52
2005.09.04
Можно ли сделать такое...


4-1121430528
JohnSmith
2005-07-15 16:28
2005.09.04
Работа с Mutex


9-1115476689
grouzd[E]v
2005-05-07 18:38
2005.09.04
OpenGL - Стереометрия, мать ее!