Статьи по программированию
примеры программного кода
Delphi, Kylix, C, C++, SQL, Visual Basic, Bash, Assembler, 1С
Qt, KOL, MFC, Rx Library, Windows, Linux, Mac OS
Сеть, Интернет, протоколы (91)
-->Delphi FTP-сервер
Опубликовано codeLocker в 16.08.2008 в 09:14.
ОС: Windows Язык: Delphi/Kylix Раздел: Сеть, Интернет, протоколы
//Delphi FTP-сервер
{ $HDR$}
program FTPServer_console;
{$APPTYPE console}
uses
Classes, Windows, SysUtils, IdFTPList, IdFTPServer, idTCPServer,
IdSocketHandle, idGlobal, IdHashCRC;
type
//Delphi FTP-сервер
TFTPServer = class
private
{ Private declarations }
IdFTPServer: tIdFTPServer;
procedure IdFTPServer1UserLogin(ASender: TIdFTPServerThread; const AUsername, APassword: string; var AAuthenticated: Boolean);
{ $HDR$}
program FTPServer_console;
{$APPTYPE console}
uses
Classes, Windows, SysUtils, IdFTPList, IdFTPServer, idTCPServer,
IdSocketHandle, idGlobal, IdHashCRC;
type
//Delphi FTP-сервер
TFTPServer = class
private
{ Private declarations }
IdFTPServer: tIdFTPServer;
procedure IdFTPServer1UserLogin(ASender: TIdFTPServerThread; const AUsername, APassword: string; var AAuthenticated: Boolean);
Прокси на Delphi
Опубликовано codeLocker в 16.08.2008 в 09:08.
ОС: Windows Язык: Delphi/Kylix Раздел: Сеть, Интернет, протоколы • Сокеты
//Прокси на Delphi
unit APSockEng;
interface
uses Windows, ScktComp, Classes, Registry, SysUtils, Messages, Dialogs, ComCtrls,
WinSock, SConnect;
//Прокси на Delphi
Type
THTTPProxy = class(TServerSocket)
private
FTimeout: Integer;
procedure GetThread(Sender: TObject; ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
public
constructor Create(AOwner: TComponent); override;
property Timeout: Integer read FTimeout write FTimeout;
end;
//Прокси на Delphi
unit APSockEng;
interface
uses Windows, ScktComp, Classes, Registry, SysUtils, Messages, Dialogs, ComCtrls,
WinSock, SConnect;
//Прокси на Delphi
Type
THTTPProxy = class(TServerSocket)
private
FTimeout: Integer;
procedure GetThread(Sender: TObject; ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
public
constructor Create(AOwner: TComponent); override;
property Timeout: Integer read FTimeout write FTimeout;
end;
//Прокси на Delphi
Простая консольная программа для получения письма с заданной темой и записи прикрепленного файла в заданный каталог
Опубликовано codeLocker в 16.08.2008 в 08:17.
ОС: Windows Язык: Delphi/Kylix Раздел: Сеть, Интернет, протоколы • Протоколы • POP3
program RecMailer;
{$APPTYPE CONSOLE}
uses
SysUtils, IdPOP3, IdMessage, Classes;
var Host : String;
Port : Integer;
Username : String;
Password : String;
Subject : String;
DestPath : String;
i, j : Integer;
MsgCount : Integer;
POP : TIdPOP3;
Mes : TIdMessage;
ForDel : TStringList;
begin
if FindCmdLineSwitch('?',['-','\','/'], True) then begin
WriteLn('-h - set host (-h pop.mail.ru)');
WriteLn('-p - set port (-p 110), default 110');
{$APPTYPE CONSOLE}
uses
SysUtils, IdPOP3, IdMessage, Classes;
var Host : String;
Port : Integer;
Username : String;
Password : String;
Subject : String;
DestPath : String;
i, j : Integer;
MsgCount : Integer;
POP : TIdPOP3;
Mes : TIdMessage;
ForDel : TStringList;
begin
if FindCmdLineSwitch('?',['-','\','/'], True) then begin
WriteLn('-h - set host (-h pop.mail.ru)');
WriteLn('-p - set port (-p 110), default 110');
Как узнать, кто в данный момент присоединен через Сеть к машине?
Опубликовано codeLocker в 08.08.2008 в 11:48.
ОС: Windows Язык: C++ • Visual C++ Раздел: Сеть, Интернет, протоколы • Работа в сети
Это можно узнать по сессиям:
SESSION_INFO_2 *psi2;
NET_API_STATUS Result;
wchar_t wcServerName[MAX_COMPUTERNAME_LENGTH + 1];
DWORD prefmaxlen = MAX_PREFERRED_LENGTH;
DWORD entriesread;
DWORD totalentries;
StringToWideChar( name, wcServerName, MAX_COMPUTERNAME_LENGTH );
Result = NetSessionEnum( (LPTSTR) wcServerName, NULL, NULL, 2,
(unsigned char**) &psi2, prefmaxlen, &entriesread, &totalentries, NULL );
if( Result != NERR_Success )
NET_API_STATUS Result;
wchar_t wcServerName[MAX_COMPUTERNAME_LENGTH + 1];
DWORD prefmaxlen = MAX_PREFERRED_LENGTH;
DWORD entriesread;
DWORD totalentries;
StringToWideChar( name, wcServerName, MAX_COMPUTERNAME_LENGTH );
Result = NetSessionEnum( (LPTSTR) wcServerName, NULL, NULL, 2,
(unsigned char**) &psi2, prefmaxlen, &entriesread, &totalentries, NULL );
if( Result != NERR_Success )
Как получить все Dial-Up соединения
Опубликовано codeLocker в 08.08.2008 в 10:42.
ОС: Windows Язык: Delphi/Kylix Раздел: Сеть, Интернет, протоколы • Интернет • Соединение с интернетом
Способ 1 - из реестра:
Uses Registry;
Function DUNGetConnections( Out OutList : TStringList) : Boolean;
var Reg : TRegistry;
begin
OutList.Clear;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\RemoteAccess\Profile', False) then
begin
Reg.GetKeyNames(OutList);
Result := True;
end
else begin
Result := False;
end;
Reg.Free;
end;
Function DUNGetConnections( Out OutList : TStringList) : Boolean;
var Reg : TRegistry;
begin
OutList.Clear;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\RemoteAccess\Profile', False) then
begin
Reg.GetKeyNames(OutList);
Result := True;
end
else begin
Result := False;
end;
Reg.Free;
end;
Способ 2 - через RASApi:
Для этого воспользуемся функцией Use RASEnumConnections.
Навигация
Интересные сайты
Сейчас на сайте
Сейчас на сайте 0 пользователей и 2 гостя.
Статистика
Всего материалов: 1387