Форум: "Сети";
Текущий архив: 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.064 c