Язык СИ
ОС UNIX
Пытаюсь написать сервер
подобный описанному сдесь
http://rsdn.ru/article/unix/sockets.xml (листинг 6).
Машина имеет несколько ip-адресов.
Прием запросов со всех имеющихся ip-адресов.
Вопрос: возможно ли узнать на какой ip-адрес
из них пришел запрос клиента?
Краткое содержание:
struct sockaddr_in addr;
struct sockaddr_in addr1;
//--- слушающий сокет sd0 ---
sd0 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//--- привязать все имеющиеся ip-адреса ---
addr.sin_addr.s_addr = INADDR_ANY;
k=bind(sd0, (struct sockaddr *)&addr, sizeof(addr));
listen(sd0, 5);
while(1){
sd=accept(sd0, (struct sockaddr *)&addr1, &k);
//--- при возврате из accept
// структура addr1 содержит ip-адрес клиента ---
обработка запроса
}
Кто знает, прошу ответить.
Ответ на:
комментарий
от smh
Ответ на:
комментарий
от smh
Ответ на:
комментарий
от const86
Ответ на:
комментарий
от const86
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум accept() не прерывается сигналом (2010)
- Форум SOCK_STREAM и особенности работы с ним (2014)
- Форум Таймаут для connect() (2009)
- Форум Сокеты. (2004)
- Форум Многопользовательский чат (2013)
- Форум Подключиться к unix-сокету через bash (2020)
- Форум C++, OpenSSL. Как соединиться с сервером через прокси? (2015)
- Форум [C] Получить данные на TCP сокет (2008)
- Форум Sockets (2002)
- Форум проблема с сокетами [C] (2009)