Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Сокеты 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.184 c
2-1346243863
cambit
2012-08-29 16:37
2013.03.22
Немогу сообразить - начинающий (тока-тока)


15-1344013780
alexdn
2012-08-03 21:09
2013.03.22
Curiosity


15-1339145696
Инокентий
2012-06-08 12:54
2013.03.22
Задача по Excel


15-1342427412
alexdn
2012-07-16 12:30
2013.03.22
Золотые слова Гейтса


15-1333286141
Новичок
2012-04-01 17:15
2013.03.22
Какой пакер лучше?