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

Вниз

Сокеты Windows - порт отправителя   Найти похожие ветки 

 
Michael   (2009-12-02 16:31) [0]

Доброго времени суток!
Для передачи данных по протоколу UDP использую стандартные сокеты Windows. Столкнулся со следующей проблемой - в связи со спецификой работы оборудования на другом конце, мне необходимо указывать явно порт отправителя; иначе он получается "плавающим". Как это можно сделать? Спасибо.


 
Сергей М. ©   (2009-12-02 22:27) [1]

И что же это за "специфика", позволь полюбопытствовать ?
За каким лешим потребовалось указывать порт отправителя на прикладном уровне, если он и так уже фигурирует на транспортном уровне ?


 
DVM ©   (2009-12-03 01:07) [2]


> Как это можно сделать?

bind?


 
Michael   (2009-12-03 08:38) [3]


> Сергей М. ©   (02.12.09 22:27) [1]
> И что же это за "специфика", позволь полюбопытствовать ?
> За каким лешим потребовалось указывать порт отправителя
> на прикладном уровне, если он и так уже фигурирует на транспортном
> уровне ?

Специфика в том, что оборудование на другом конце отвечает именно на тот порт, с которого пришли данные. В ситуации, когда я сам не знаю, с какого порта отправляю данные, я не знаю, на каком порте ловить ответ.


> DVM ©   (03.12.09 01:07) [2]
> bind?

Я так понимаю, что bind осуществляет связывание сокета с локальным адресом для приема данных.


 
Anatoly Podgoretsky ©   (2009-12-03 09:01) [4]

При UDP соединение не устанавливается, поэтому бессмысленно говорить о порте с которого послано, тем более пытать дважды открыть порт, будет просто ошибка.


 
DVM ©   (2009-12-03 11:25) [5]


> Michael   (03.12.09 08:38) [3]


> Я так понимаю, что bind осуществляет связывание сокета с
> локальным адресом для приема данных.

не обязательно для приемы, для передачи тоже можно.

struct sockaddr_in {
       short   sin_family;
       u_short sin_port;
       struct  in_addr sin_addr;
       char    sin_zero[8];
};


 
Сергей М. ©   (2009-12-03 12:02) [6]


> В ситуации, когда я сам не знаю, с какого порта отправляю
> данные, я не знаю, на каком порте ловить ответ.


На том же самом, с которого ты отправил оборудованию дейтаграмму.
Ты сокет-то не закрывай после отправки - с какого сокета отравлял, тот и примет ответ



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

Форум: "Сети";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.099 c
2-1333351946
homeknight
2012-04-02 11:32
2013.03.22
Копирование TTreeView


15-1336226589
Vik
2012-05-05 18:03
2013.03.22
У меня маленький вопрос.


15-1340895789
TStas
2012-06-28 19:03
2013.03.22
Посоветуйте текстовый браузер


2-1331209343
Zheksonz
2012-03-08 16:22
2013.03.22
Формат времени


15-1336336205
Юрий
2012-05-07 00:30
2013.03.22
С днем рождения ! 7 мая 2012 понедельник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский