Главная страница
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.01 c
7-24254
Alex_MIB2
2002-05-22 21:22
2002.08.08
Как отправить на печать имеющийся *.тхт файл?


1-23993
Arco
2002-07-27 21:26
2002.08.08
Ответьте пожалуйста, Синтаксис - OPascal


6-24160
начинающий програмер
2002-05-24 22:29
2002.08.08
Баннеры


1-24052
^SANYA
2002-07-23 20:04
2002.08.08
Как выкинуть программу из списка программ (ctrl+alt+del)?


1-23982
DeepProg
2002-07-20 19:37
2002.08.08
Два в одном