Автор
|
Тема: UDP на одном компьютере
|
AdminDimon |
опубликован 15-08-2001 19:57 MSK
Привет! Написал два приложения, использующие адресный UDP для обмена друг с другом (правда работать они должны на одном компьютере). Проблема с bind-ом сокета на одном из концов. При использовании опции SO_REUSEADDR передача сообщений идет только в один конец. Может есть идеи, как сделать, чтобы данная конфигурация работала нормально? Именованные каналы или файлы, проецируемые в память подошли бы, но заказчик требует под UDP... :-(
|
talex
|
опубликован 15-08-2001 20:10 MSK
когда-то писал TFTP Client/Server. все было ок. a по конкретней можешь сказать? |
AdminDimon
|
опубликован 15-08-2001 20:29 MSK
Конкретнее... Попробую. Пишу под Solaris. Обе проги биндятся на один и тот же адрес и номер порта. Работаем вдвоем с парнем через терминалы с одной машиной. Я запускаю свою прогу через свой акаунт, а он свою - соответственно через свой. Вот в принципе и вся ситуация |
lamo
|
опубликован 17-08-2001 02:33 MSK
еще раз ... udp второй биндится на тот же порт ?зы. кинь сырц. так проще. или посмотри ntalk (unix) sources. насколько помнится там тоже юдп.
|
AdminDimon
|
опубликован 18-08-2001 13:18 MSK
Thanks to all! Сделал следующее: На сервере делаю bind()по одному порту (например, 20053), а посылаю sendto() по другому (например, 20054). Клиент соответственно bind-ится по порту 20054, а посылает по порту 20053. Все нормально заработало! Кстати, один из плюсов такой архитектуры - при посылке сообщения не получаю сам его копию. |