Есть написанные сервисы под *nix ...
Указываю IP разные для них, но с одним и тем же номером порта.Запускаю первый сервис, все нормально bind проходит нормально, запускаю второй, который байндится на другой IP, но сообщает об ошибке, что адрес уже занят...
Как такое может быть, ведь указан другой IP?
Помогите плз!
>Есть написанные сервисы под *nix ...
>Указываю IP разные для них, но с одним и тем же номером
>порта.
>
>Запускаю первый сервис, все нормально bind проходит нормально, запускаю второй, который байндится
>на другой IP, но сообщает об ошибке, что адрес уже занят...попробуй после запуска первого сервиса netstat -an | grep LISTEN . Возможно, он все-таки садится на все интерфейсы.
>>Есть написанные сервисы под *nix ...
>>Указываю IP разные для них, но с одним и тем же номером
>>порта.
>>
>>Запускаю первый сервис, все нормально bind проходит нормально, запускаю второй, который байндится
>>на другой IP, но сообщает об ошибке, что адрес уже занят...
>
>попробуй после запуска первого сервиса netstat -an | grep LISTEN . Возможно,
>он все-таки садится на все интерфейсы.запустил один сервер, посмотрел netstat -an | grep LISTEN ,сервис сидит на одном IP с нужным портом...
Запускаю другой, с другим IP и с тем же портом, говорит, что занято :(
Чего то не догоняю...
>>>Есть написанные сервисы под *nix ...
>>>Указываю IP разные для них, но с одним и тем же номером
>>>порта.
>>>
>>>Запускаю первый сервис, все нормально bind проходит нормально, запускаю второй, который байндится
>>>на другой IP, но сообщает об ошибке, что адрес уже занят...
>>
>>попробуй после запуска первого сервиса netstat -an | grep LISTEN . Возможно,
>>он все-таки садится на все интерфейсы.
>
>запустил один сервер, посмотрел netstat -an | grep LISTEN ,сервис сидит на
>одном IP с нужным портом...
>Запускаю другой, с другим IP и с тем же портом, говорит,
>что занято :(
>Чего то не догоняю...кстати, может в чем то здесь дело?
я сделал ifconfig:[root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:12:19:BB:F9:12
inet addr:xxx.xxx.xxx.210 Bcast:xxx.xxx.xxx.215 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:876738334 errors:0 dropped:0 overruns:0 frame:0
TX packets:425933040 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1592879098 (1519.0 Mb) TX bytes:4287955341 (4089.3 Mb)
Interrupt:11 Base address:0xc000lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9183839 errors:0 dropped:0 overruns:0 frame:0
TX packets:9183839 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3018611262 (2878.7 Mb) TX bytes:3018611262 (2878.7 Mb)
>Запускаю первый сервис, все нормально bind проходит нормально, запускаю второй, который байндится
>на другой IP, но сообщает об ошибке, что адрес уже занят...
>
>Как такое может быть, ведь указан другой IP?
>Помогите плз!Запусти lsof -i и посмотри кто занял.
>Есть написанные сервисы под *nix ...
>Указываю IP разные для них, но с одним и тем же номером
>порта.
>
>Запускаю первый сервис, все нормально bind проходит нормально, запускаю второй, который байндится
>на другой IP, но сообщает об ошибке, что адрес уже занят...
>
>Как такое может быть, ведь указан другой IP?
>Помогите плз!попробуй после создания сокета на всех сервисах вызвать setsockopt(2) c с параметром SO_REUSEADDR и\или SO_REUSEPORT. Осине наплевать на адрес, список дескрипторов сокетов один на все интерфейсы.