· Начало · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.NETWORKS —› Добывание удаленного IP

Посл.отвђт Сообщенiе


Дата: Июл 1, 2004 03:44:25

Есть клинт, который подключается к серверу и сервер, который хочет знать IP клиента. Клиент конечно ничего гооврить не хочет=) Не, на самом деле можно конечно реализовать отпарвку IP клиентом, но тогда если взять, к примеру, telnet - он ничего не будет отправлять. Вся проблема в том, что структура in_addr (inet_ntoa) имеет весьма странный вид (по описанию msdn), а в windows.inc не менее странный ADDRESS_UNION UNION. Что такое UNION я знать не знаю, а как подобное сделать под fasm темболее. Но вопрос то мой в другом. Как сабж можно осуществить без прибегания к getpeername и inet_ntoa? Ну или как нужные структуры переписать под fasm.
PS. Не в тему, но про сеть-) Получаю строку (она больше дворда) и пытаюсь сравнить lstrcmp с другой - говорит что не правильно. сокращаю до дворда - нифига. делаю cmp dword [MyBuff],'MYDW' и все нормально! С чем это может быть связано? Случано не с 13,10 на конце (если убрать, все равно не пашет)???
PSS. На последок;) У кого-нибудь есть пример МНОГОПОЛЬЗОВАТЕЛЬСКОГО сетевого приложения? Как сделать "на один коннект" я знаю. Мне интерестно как будет выглядеть на несколько пользователей (пожалуй 250 мне хватит:).


Дата: Июл 1, 2004 03:52:35

Извените. не успел (уже есть такая). но пока закрывать не буду, вдруг не получится.


Дата: Июл 1, 2004 04:01:24

Marazm
> Случано не с 13,10 на конце (если убрать, все равно не пашет)???

Нужен 0 в конце строки.


Дата: Июл 1, 2004 08:35:29

Marazm
Что такое UNION я знать не знаю
В любом учебнике по программированию это есть.

Как сабж можно осуществить без прибегания к getpeername и inet_ntoa?
IP нужен в текстовом виде? Кстати, тема уже такая поднималась. Я всегда юзаю inet_ntoa(sockaddr_in.sin_addr) и багов не наблюдал.

Мне интерестно как будет выглядеть на несколько пользователей (пожалуй 250 мне хватит:).
Могу приаттачить пример на чистом C.


Дата: Июл 6, 2004 03:27:59 · Поправил: Marazm

Quantum
Спасибо не помешает. я уже в принципе разобрался. нужно в отдельном потоке каждый коннект:) но всеравно шлите. dumplex@inbox.ru
На счет UNION сейчас гугл пытать буду.
Asterix
несовсем.нужно сначала wsprintf вызвать
Все
спасибо еще раз


Дата: Июл 6, 2004 19:32:48

Marazm
„нужно в отдельном потоке каждый коннект:)“
Верно.

Это пример серверного приложения. Сервер имеет ограничение на количество одновременных соединений, лог, конфигурационный файл, ... Я написал это для конвертера PDB-файлов в JPG.

ЗЫ: Без либов не компилит :-)

_1510143718__server.rar


Дата: Июл 10, 2004 03:29:10

Quantum
Спасибо