From Lonely.RuyK на mail.ru Thu Jun 23 02:47:36 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Thu, 23 Jun 2011 02:47:36 +0400 Subject: [P&AM Lab] =?utf-8?b?0J/QvtC70YPRh9C10L3QuNC1IElQINCw0LTRgNC10YE=?= =?utf-8?b?0LA=?= Message-ID: <201106230247.36620.Lonely.RuyK@mail.ru> Эксперементирую с сокетами. Немного запутался с тем как программе получить интернет адрес машины на которой она запускается. Пробовал gethostname а затем gethostbyname, возвращается только адрес локальной сети(127.0.1.1) Затем пытался воспользоваться функцией getifaddrs, она почему-то сваливалась в сегментацию(даже тот кусок кода что приведён в ман странице к функции). Размышления и гугл привели к мысли либо использовать функцию system(), вызывать ifconfig и вычленять из него адрес, либо то же самое делать fork/exec'ом, либо брать IP адреса из /proc/net/route/. Ещё нашёл способ когда создаётcя udp сокет, коннектится к какому-нибудь адресу и затем вызывается getsockname. Но всё это выглядит как-то сложно. Скажите пожалуйста есть ли методы проще? From rg-400 на list.ru Thu Jun 23 12:49:41 2011 From: rg-400 на list.ru (rg-400) Date: Thu, 23 Jun 2011 12:49:41 +0400 Subject: [P&AM Lab] =?koi8-r?b?8M/M1d7FzsnFIElQIMHE0sXTwQ==?= In-Reply-To: <201106230247.36620.Lonely.RuyK@mail.ru> References: <201106230247.36620.Lonely.RuyK@mail.ru> Message-ID: <4E02FE25.3080406@list.ru> On 23.06.2011 02:47, LonelyRuyK wrote: > Эксперементирую с сокетами. Немного запутался с тем как программе получить > интернет адрес машины на которой она запускается. Пробовал gethostname а затем > gethostbyname, возвращается только адрес локальной сети(127.0.1.1) Затем > пытался воспользоваться функцией getifaddrs, она почему-то сваливалась в > сегментацию(даже тот кусок кода что приведён в ман странице к функции). > Размышления и гугл привели к мысли либо использовать функцию system(), > вызывать ifconfig и вычленять из него адрес, либо то же самое делать > fork/exec'ом, либо брать IP адреса из /proc/net/route/. Ещё нашёл способ когда > создаётcя udp сокет, коннектится к какому-нибудь адресу и затем вызывается > getsockname. Но всё это выглядит как-то сложно. Скажите пожалуйста есть ли > методы проще? > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab Чем не устраивает localhost? Можно на одной машине сделать клиент и сервер. From Lonely.RuyK на mail.ru Thu Jun 23 15:34:17 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Thu, 23 Jun 2011 15:34:17 +0400 Subject: [P&AM Lab] =?utf-8?b?0J/QvtC70YPRh9C10L3QuNC1IElQINCw0LTRgNC10YE=?= =?utf-8?b?0LA=?= In-Reply-To: <4E02FE25.3080406@list.ru> References: <201106230247.36620.Lonely.RuyK@mail.ru> <4E02FE25.3080406@list.ru> Message-ID: <201106231534.17546.Lonely.RuyK@mail.ru> >Чем не устраивает localhost? >Можно на одной машине сделать клиент и сервер. Знаю, но хочется поиграться именно с передачей по сети, а не по петле. From sitkarev на komitex.ru Thu Jun 23 23:37:07 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Thu, 23 Jun 2011 23:37:07 +0400 Subject: [P&AM Lab] =?utf-8?b?0J/QvtC70YPRh9C10L3QuNC1IElQINCw0LTRgNC10YE=?= =?utf-8?b?0LA=?= In-Reply-To: <201106231534.17546.Lonely.RuyK@mail.ru> References: <201106230247.36620.Lonely.RuyK@mail.ru> <4E02FE25.3080406@list.ru> <201106231534.17546.Lonely.RuyK@mail.ru> Message-ID: <4E0395E3.5040701@komitex.ru> Вопрос ясен. В UNIX для таких тонких вещей существовал ioctl-интерфейс SIOC (Socket Input Output Control). Я вложил файл с примером, думаю будет ясно что и как нужно делать. Кому интересно, можно рекомендовать почитать netdevice(7). Нужно быть очень аккуратным, т.к. не все вызовы будут переносимы. -- Г.А. 23.06.2011 15:34, LonelyRuyK пишет: >> Чем не устраивает localhost? >> Можно на одной машине сделать клиент и сервер. > > Знаю, но хочется поиграться именно с передачей по сети, а не по петле. > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: iflist.c Type: text/x-csrc Size: 886 bytes Desc: отсутствует URL: