Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-24167
Socol
2002-07-11 05:02
2002.08.08
Антивирус


3-23890
Andrew_
2002-07-16 16:34
2002.08.08
Работа с CLOB-полем в Oracle


14-24172
Artemkin
2002-07-12 10:51
2002.08.08
Flash


6-24155
niko4615
2002-05-29 10:28
2002.08.08
URL


3-23952
Vic-K
2002-07-19 09:39
2002.08.08
Between





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский