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

Вниз

Как написать КлиентСокет на АПИ?   Найти похожие ветки 

 
ss18   (2002-05-27 23:30) [0]

Если у кого нибудь есть примерчик как это написать киньте плиз. Мучаюсь, ничего понять не могу.


 
cyborg ©   (2002-05-27 23:45) [1]

ctrl держишь, нажимаешь например на sendtext и так далее и придёшь к тому что увидишь, что сокеты итак на АПИ написаны


 
Digitman ©   (2002-05-28 12:27) [2]

>>ничего понять не могу

Что непонятно ? Конкретно ?


 
ss18   (2002-05-28 15:12) [3]

2Digitman ©
Конкретно: Как послать утп дейтаграму и принять ответ (тоже дайтагруму)?


 
Digitman ©   (2002-05-28 15:40) [4]

замечательно ! конкретней некуда ) ...
вот тебе, соответственно, и столь же конкретные ответы на вопрос "как" :

sendto() - для передачи дейтаграммы
recvfrom() - для приема дейтаграммы


 
ss18   (2002-05-28 18:20) [5]

а когда нужно вызывать recvfrom()? В ютом собственно и проблема. Причем нужно чтобы разные потоки могли сделать это одновременно (послать и/или получить)...Как в таком случае?


 
Digitman ©   (2002-05-29 09:13) [6]

recvfrom() нужно вызывать в контексте обработки события FD_READ, возникновение которого фиксирует факт наличия в буфере данных гнезда принятой дейтаграммы.

Разные потоки должны работать с разными гнездами. Нет никакого смысла в организации нескольких доп.потоков, конкурирующих за право доступа к одному и тому же гнезду по чтению-записи. Каждый же конкретный вызов recvfrom()/sendto() оперирует хендлом только одного (указанного в качестве параметра) гнезда.
Хотя ф-ции гнездового приема/передачи и являются threadsafe (содержат встоенный механизм мультипоточной синхронизации), злоупотреблять этим не следует и при мультипоточном доступе к этим ф-циям крайне желательно организовать собственный механизм синхронизации (используя critical section, mutex, semaphore e.t.c)



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
14-24227
Skywalker
2002-07-15 09:51
2002.08.08
IN


1-24023
KPY
2002-07-29 05:38
2002.08.08
Как остановить программу и посмотреть значение переменных


3-23908
alords
2002-07-18 09:14
2002.08.08
Query


1-24112
V.Turecky
2002-07-26 19:11
2002.08.08
Запуск программ своими силами...


1-23980
иван
2002-07-25 16:11
2002.08.08
Господа великодушные