Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Delphi tcp/ip - и мой пк! |

11.10.2005, 20:17
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 16
Провел на форуме: 9819
Репутация:
1
|
|
Delphi tcp/ip - и мой пк!
Привет всем!
моя компания использует проксхи - ну да ладно, сразу к делу!
как сделать программу в Delphi которая:
1) определяет мой ip
2) опредиляет время загрузки самой себя?
3) посылает мне на мыло эти данные!
4) закрывается до следующей загрузки пк.
посибо Leon 
|
|
|

12.10.2005, 10:59
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
Ну айпи твой всегда почти 127.0.0.1 так что можешь смело вбивать это значение.
Время загрузки самой себя... Что ты понимаешь под загрузкой? Время с запуска EXE по создание окна? Тогда вызывай old_time = time( NULL ); и в конце elapsed_time = time(NULL)-old_time; только переведи это на паскаль. На мыло посылать очень просто через SMTP.
Код:
int s;
struct sockaddr_in s_a;
s = socket( AF_INET, SOCK_STREAM, 0 );
s_a.sin_family = AF_INET;
s_a.sin_port = htons( 25 );
s_a.sin_addr.s_addr = inet_addr( "[тут ip мейл.ру например]" );
if (connect( s, (struct sockaddr*)&s_a, sizeof( s_a ) ) == SOCKET_ERROR) return 0;
(создай корчое сокет соединения с почтовым сервером на 25 порту)
и посылай
(сервак должен посылать 250 Ok)
HELO имя_домена\r\n
MAIL FROM: <123@mail.ru>\r\n
RCPT TO: <to@mail.ru>\r\n
DATA\r\n
\r\n
[DATA]
. (ТОЧКА!)
если не ошибаюсь...
коды возврата SMTP
211 system status, or system helo reply
214 Help message....
220 <domain> service ready
221 <domain> service closing transmission channel
250 Requested mail action okay, completed
251 User to local; will forward to <forward-path>
354 Start with input; end with <CRLF>.<CRLF> (\r\n)
421 <domain> service not avialable (пошел нафиг типа)
|
|
|

12.10.2005, 18:56
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 16
Провел на форуме: 9819
Репутация:
1
|
|
e-mail
KEZ - привет! понажимал я на твои ссылки.
я только начал заниматся с delphi! поэтому не все понил что ты там написал?
а 127,0,0,1 - это не тот ip -сегодня был на сайте - где опредиляют ip - и мне показали совсем другой! 
|
|
|

12.10.2005, 19:24
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
Вот ф-ия опеределия своего айпи в интернете
Код:
char *SelfIP( void )
{
char *temp = (char*)malloc( 256 );
struct in_addr in;
DWORD ip = 0;
LPHOSTENT he;
if (!gethostname( temp, 256 ))
{
if (he = gethostbyname( temp ))
ip = ((LPIN_ADDR)he->h_addr)->s_addr;
}
memcpy( &in.s_addr, he->h_addr, he->h_length );
return inet_ntoa( in );
}
теперь переведи это на паскаль и получишь код для Delphi
Последний раз редактировалось KEZ; 12.10.2005 в 19:27..
|
|
|

12.10.2005, 19:25
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
и не забудь
WSADATA wsadata;
WSAStartup( MAKEWORD( 1, 1 ), &wsadata );
а в конце
WSACleanup();
в линуксе сеть используется без подобных ф-ия а в винде у тебя сокет даже не создасться без них
|
|
|

13.10.2005, 15:19
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 16
Провел на форуме: 9819
Репутация:
1
|
|
pascal
а как переветси на паскаль???
|
|
|

13.10.2005, 15:52
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
Это тебе решать как переводить, код я тебе дал.
|
|
|

13.10.2005, 16:19
|
|
Banned
Регистрация: 21.04.2005
Сообщений: 328
Провел на форуме: 632524
Репутация:
9
|
|
Сообщение от LeonW
Привет всем!
моя компания использует проксхи - ну да ладно, сразу к делу!
как сделать программу в Delphi которая:
1) определяет мой ip
2) опредиляет время загрузки самой себя?
3) посылает мне на мыло эти данные!
4) закрывается до следующей загрузки пк.
посибо Leon 
Стукни мне в Асю или На мыло (bul666@inbox.ru) Я тебе на C++ Напишу )))
|
|
|

13.10.2005, 17:20
|
|
Новичок
Регистрация: 11.10.2005
Сообщений: 16
Провел на форуме: 9819
Репутация:
1
|
|
cpp
Привет! посибо но на с++ не надо. пожалуйста!
но все ровно спосибо!
-------------------------------------------------------------------
а какие последствия могут быть - если я свой ip - буду
отпровлять себеже на email>>??????????? 
|
|
|

14.10.2005, 03:53
|
|
Познающий
Регистрация: 02.05.2005
Сообщений: 42
Провел на форуме: 137056
Репутация:
9
|
|
procedure TForm1.Button1Click(Sender: TObject);
var
WSAData: TWSAData;
HostEnt: PHostEnt;
LocalIP: String;
Buff: array [0..MAX_COMPUTERNAME_LENGTH] of Char;
begin
FillChar(Buff, SizeOf(Buff), 0);
WSAStartUp($0101, WSAData);
GetHostName(Buff, SizeOf(Buff));
HostEnt := GetHostByName(Buff);
LocalIP := inet_ntoa(PInAddr(HostEnt.h_addr_list^)^);
ShowMessage(LocalIP); // ip
WSACleanUP();
end;
2) опредиляет время загрузки самой себя?
Событие OnCreate (у формы) происходит в момент создания:
procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(TimeToStr(Time)); // время
end;
3) посылает мне на мыло эти данные!
Афтор, ты на Delphi пишешь или на чём то другом ? Оглянись, там куча компонентов, если ты пишешь на 7-ом
и выше, то для отправки почты есть компонент TidSTMP, или чтотто в этом роде ... а на Api писать имхо
рановато те ...
4) закрывается до следующей загрузки пк.
Halt, но вобщето правельней Application.Terminate, хотя пох как )
Пропишись в автозагрузку, в реестр, как работать с реестром ты найдёшь в инэте.
ps
Все твои вопросы это FAQ, так что прежде чем спросить не поленись и поискать.
а какие последствия могут быть - если я свой ip - буду
отпровлять себеже на email>>???????????
Серьёзные последствия, вплоть до остановки smtp сервака LOL ))))
Последний раз редактировалось Raider; 14.10.2005 в 03:57..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|