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


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

Конечно нужна!
...
Рейтинг: 0 / 0
определение IP адреса
    #32214857
Flex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если тебе нужен адрес своей машины , то смело можешь использовать 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
определение IP адреса
    #32215176
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пасиба Flex!
все классно работает с библиотекой! вроде пока не глючит

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

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

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

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

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


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