Главная страница
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.009 c
8-24133
Di_wind
2002-03-30 22:57
2002.08.08
Распознование голоса.


4-24267
Baz
2002-05-31 17:27
2002.08.08
Обработка сообщения WM_SIZING


1-23985
cherepovets
2002-07-27 13:59
2002.08.08
Панель задач


1-24047
xyz
2002-07-25 00:29
2002.08.08
слова в RichEdit


4-24266
keymaster
2002-06-02 08:43
2002.08.08
Часовой пояс