Главная страница
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.067 c
15-1333350850
AV
2012-04-02 11:14
2013.03.22
Oracle, математический финт (с индексом) есть какой-нибудь?


15-1341997928
Дмитрий С
2012-07-11 13:12
2013.03.22
Наушники от которых не болят уши.


15-1339792202
Юрий
2012-06-16 00:30
2013.03.22
С днем рождения ! 16 июня 2012 суббота


15-1351157222
Empleado
2012-10-25 13:27
2013.03.22
DB с четырьмя таблицами


2-1347120747
123456789igor
2012-09-08 20:12
2013.03.22
excel в delphi цикл по строкам