Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
Геннадий   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
7-78687
DeepProg
2002-08-16 19:32
2002.10.24
Fatal Error


7-78689
Vald2000
2002-08-19 13:09
2002.10.24
эмуляция принтера .


1-78493
Shrek
2002-10-12 20:01
2002.10.24
Печать из делфи (вертикально)


6-78554
Oduvan
2002-08-22 09:50
2002.10.24
Как перевести вот такие строчки в читаемый вид?


1-78354
совсем Новенький
2002-10-08 11:01
2002.10.24
Уважаемые мастера Выкидывает ошибку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский