Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как написать КлиентСокет на АПИ?


ss18 ©   (2002-05-27 23:30:00) 

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


Digitman   (2002-05-29 09:13:00) [1]

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

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


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

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


Digitman   (2002-05-28 15:40:00) [3]

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

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


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

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


Digitman   (2002-05-28 12:27:00) [5]

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

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


cyborg   (2002-05-27 23:45:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо