Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / определение IP адреса / 12 сообщений из 12, страница 1 из 1
22.07.2003, 12:39
    #32214390
Kassa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
кто - нить знает, как средствами FOXa определить IP адрес машины?
...
Рейтинг: 0 / 0
22.07.2003, 12:49
    #32214414
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Локальной? Можно с помощью mswinsockl.ocx
Код: plaintext
1.
2.
x=CREATEOBJECT('mswinsock.winsock')
?x.LocalIP


PS с сетевыми путями помощь еще нужна?
...
Рейтинг: 0 / 0
22.07.2003, 14:06
    #32214546
Kassa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
пасиба NNN! с winsock все получилось)
PS с сетевыми путями помощь еще нужна?

Конечно нужна!
...
Рейтинг: 0 / 0
22.07.2003, 17:33
    #32214857
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Если тебе нужен адрес своей машины , то смело можешь использовать 127.0.0.1 и ничего тебе определять не нужно. А если работаешь с другой машиной то возьми то что приползло тебе на ящик с именем netlib.fll
В ней всего 2 функции которые возвращает тебе имя хоста по адресу и адрес хоста по имени. Используешь эту функцию так:

&& Для примера

Set Library to NETLIB additive

LOCAL lcIP, lcHOST
lcIP = "192.168.0.2"
lcHOST = "localhost"

? nametoaddr(lcHOST)
? addrtoname(lcIP)

Все.

Если такой адрес в простарнстве доступных адресов или имя PC в простарнстве имен то тебе вернется соответвенно либо IP либо имя хоста заданного его IP. Если не сможет вернуть (по различным причинам, я ошибки не обрабатывал), то вернет просто empty(nametoaddr(lcHOST)) = .T.
Если вернет пустую строку то соответвенно сможешь посмотреть ошибку
задекларировав функцию WSAGetLastError(), она тебе вернет код ошибки.

А на счет путей, диск нужно мапить , либо ручками либо с помощью NetAPI.
Не факт что у тебя путь к папке не окажется больше 255 байт.

Все.
...
Рейтинг: 0 / 0
23.07.2003, 10:12
    #32215176
Kassa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
пасиба Flex!
все классно работает с библиотекой! вроде пока не глючит

скажи плиззз, может в этой библиотечке есть еще какие-нить полезные функции.
и еще вопрос, в этой библиотеке определение ip и hostа происходит через вызов 'mswinsock.winsock', просто интересно?
...
Рейтинг: 0 / 0
23.07.2003, 13:26
    #32215574
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Нет, я не стронник использования ОLE серверов автоматизации,
там все сделано ручками с использованием функций WinSock.
Полезные функции есть, это по сути кусок из библитеки по сетевому обмену.
Есть полный клиенти есть сервер. Реализация такова что при возникновении какого либо сетевого события ну к примеру запрос на соедиенение клиента у тебя в фоксовской форме (если она сервер) дергается метод OnAccept.
При приходе строки через интерфейс сокетов у тя дергается OnRecive , а то что пришло ложится в глобальную переменную. Тоесть, чтобы юзать ее нужно заполнить простое правило. Сработало тобой определнное событие - смотри что лежит в буфере. Соответсвенно при создании приложения тебе в форме просто нужно добавить эти методы, которые по сути становятся индикаторами сетевых событий.
Можно конечно ложить значения которыми обмениваются клиент и сервер в свойсво формы, но почему-то это на С++ не отрабатывается, пришлось только
через буфер. Причем, сервер асинхронный, для каждого клиента все собития обрабатываются в отдельном потоке. что не тормозит работу приложения.
Если очень нужно , пиши. Я как раз счас им занимаюсь и глюки режу.

Да и еще, чем хорошо использование библиотек, не нужно за собой таскать все время ОСХ и котролировать, есть они на машине пользователя или нет.
И тебе советую.
...
Рейтинг: 0 / 0
23.07.2003, 13:58
    #32215637
Kassa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
интерсная штукенция, я имею в виду индикаторы сетевых событий!
а насчет OCX или использования библиотек ты тысячу раз прав... сколько уже таких граблей было, когда у клиента на машине не хватает OCX
...
Рейтинг: 0 / 0
28.06.2004, 14:23
    #32579568
мимо проходил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Flex2А если работаешь с другой машиной то возьми то что приползло тебе на ящик с именем netlib.fll
В ней всего 2 функции которые возвращает тебе имя хоста по адресу и адрес хоста по имени.

а можно и на этот адресок - NArtUfa сабака Yandex точка RU кинуть подобную штуку, плиз.
...
Рейтинг: 0 / 0
28.06.2004, 14:34
    #32579595
мимо проходил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Flex2А если работаешь с другой машиной то возьми то что приползло тебе на ящик с именем netlib.fll
В ней всего 2 функции которые возвращает тебе имя хоста по адресу и адрес хоста по имени.

а можно и на этот адресок - NArtUfa сабака Yandex точка RU кинуть подобную штуку, плиз.
...
Рейтинг: 0 / 0
01.07.2004, 15:58
    #32585643
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
По просьбам трудящихся:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
#define ERR_WSAStartup    '0' && Ошибка инсталляции WinSock  2 . 0 
#define ERR_CannotResolve '1' && Невозможносто разрешить имя (нет такого имени/адреса)

SET LIBRARY TO Netlib.fll additive
LOCAL lcInIP, lcInHost,lcOutIP, lcOutHost as String

* Определения имени удаленного сервера по адресу
lcInIP = "213.180.216.200"
lcOutHost = _GetIPToHost(@lcInIP)
DO case
CASE lcOutHost = ERR_WSAStartup
? "Ошибка инсталляции WinSock 2.0"
CASE lcOutHost = ERR_CannotResolve
? "Нет такого адреса"
ENDCASE
?  "Имя сервера: "+lcOutHost

* Определения адреса удаленного сервера по имени
lcInHost= "www.yandex.ru"
lcOutIP =_GetHostToIP(@lcInHost)
 
 DO case
CASE lcOutIP = ERR_WSAStartup
? "Ошибка инсталляции WinSock 2.0"
CASE lcOutIP = ERR_CannotResolve
? "Нет такого имени"
ENDCASE
?  "Адрес сервера: "+lcOutIP

* Для локальных  имен: имя  сервера  это имя компьютера
* Например посмотрим свой адрес: 
*!*	lcInHost= "localhost"
*!*	lcOutIP =_GetHostToIP(@lcInHost)

Не пробовал под Win95- 98 , хотя по идее и там должно работать.
Сама библиотека пристыкована к сообщению, пользуйтесь.
...
Рейтинг: 0 / 0
01.07.2004, 15:59
    #32585649
Flex2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Тут
...
Рейтинг: 0 / 0
12.07.2004, 19:32
    #32600530
Telum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определение IP адреса
Flex2 хотелось бы побольше узнать о возможностях WinSocket где это
можно сделать, и вообще, как его заставить работать?
У меня не получается передать сообщение по сети, ничего не происходит.
**********************************************************
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / определение IP адреса / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]