Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с модемом... [D5, D6, Win95/98, WinME]


Геннадий ©   (2002-08-17 22:29:00) 

Я посылаю модему АТ-команду на дозвон. Он звонит. Ему отвечает другой модем и они сами, без моего участия устанавливают связь между собой, так? А что бы можно было использовать стандартные компоненты для сетевой работы, входящие в поставку Делфи, этого достаточно? Или надо дать знать операционке, что есть связь с другим компом? Звоню через WriteLn(F, "AT D P 999999");

И как в этом случае узнать свой и его IP-адрес? Ведь для обмена файлами/строками нужно указать свойства Host...


Роман Василенко   (2002-08-19 14:24:00) [1]

Э, надобно использовать RAS-API, и стандартные компоненты.

Вот ссылочка, я уже писал об этом.

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1028828918&n=2

Второй раз писать лень.


ППавел   (2002-08-19 10:55:00) [2]

Извеняюсь за повтор


ППавел   (2002-08-19 10:52:00) [3]

Определить свой IP можно так:

Uses Winsock;

function MyIP : string;

type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;
begin
WSAStartup($101, GInitData);
Result := "";
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then
begin
Exit;
end;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do
begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;


Reindeer Moss Eater   (2002-08-19 08:52:00) [4]

>Геннадий
При таком способе соединения модемов никаких транспортных протоколов к нему (соединению) не привязывается. Соответственно никаких дополнительных IP адресов не появляется. Все что можно делать в этом случае - это писать в порт и читать из него. И ничего более.


ППавел   (2002-08-19 05:58:00) [5]

Свой IP можно узнать таким образом:
Uses Winsock;

function MyIP : string;

type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
ph : PHostEnt;
ptr : PaPInAddr;
Buffer : array [0..63] of char;
i : Integer;
GInitData : TWSADATA;
begin
WSAStartup($101, GInitData);
Result := "";
GetHostName(Buffer, SizeOf(Buffer));
ph :=GetHostByName(buffer);
if ph = nil then
begin
Exit;
end;
ptr := PaPInAddr(Ph^.h_addr_list);
I := 0;
while ptr^[I] <> nil do
begin
result:=StrPas(inet_ntoa(ptr^[I]^));
Inc(I);
end;
WSACleanup;
end;


Mozart_mcs   (2002-08-19 01:55:00) [6]

При соединении двух компов по модему в w98 IP - стандартный:
у сервера: 192.168.55.1
у клиента: 192.168.55.2


Наверх

Титульная страница Поиск, карта сайта Написать письмо