Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.24;
Скачать: CL | DM;

Вниз

Работа с модемом...   Найти похожие ветки 

 
Геннадий   (2002-08-17 22:29) [0]

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

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


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

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


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

Свой 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;


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

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


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

Определить свой 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;


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

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


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

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

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

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

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




Страницы: 1 вся ветка

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-78490
alxx
2002-10-13 13:39
2002.10.24
Переход фокуса


14-78660
kaif
2002-10-04 18:55
2002.10.24
Felix Metall


7-78679
Pacovan
2002-08-15 11:02
2002.10.24
Как уменьшить скорость CD-Romа


4-78713
lds78
2002-08-26 10:11
2002.10.24
Zip/Unzip


6-78577
vitnt2000
2002-08-16 10:58
2002.10.24
Как программно поменять IP адрес?