Главная страница
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.046 c
14-1123364372
SoftX
2005-08-07 01:39
2005.09.04
Сожрал семь пачек Ноотропила. Когда стану умным?


4-1121350719
Narik
2005-07-14 18:18
2005.09.04
уничтожить процесс?


14-1123876790
Кефир87
2005-08-12 23:59
2005.09.04
В PHP 4.3.4 отключены глобальные переменные


14-1123732274
Думкин
2005-08-11 07:51
2005.09.04
11 августа. С днем рождения.


11-1106584535
thaddy
2005-01-24 19:35
2005.09.04
objects allocation on the stack (speedy) is it possible in KOL?