Организация удалённого доступа

Автор работы: Пользователь скрыл имя, 27 Ноября 2012 в 14:40, курсовая работа

Описание работы

Сеть Internet - это сеть сетей, объединяющая как локальные сети, так и глобальные сети типа NSFNET. Поэтому центральным местом при обсуждении принципов построения сети является семейство протоколов межсетевого обмена TCP/IP.
Под термином "TCP/IP" обычно понимают все, что связано с протоколами TCP и IP. Это не только собственно сами проколы с указанными именами, но и протоколы построенные на использовании TCP и IP, и прикладные программы.

Содержание работы

1 Постановка задачи 5
2 Вычислительная система 8
2.1 Программные средства 8
2.2 Технические средства 9
2.3 Аппаратно – программный комплекс 10
3 Алгоритм задачи 11
3.1 Вызов и загрузка 11
3.2 Интерфейс пользователя 14
3.3 Система помощи 16
3.4 Логическая структура 17
3.5 Физическая структура 19
4 Описание программы 20
5 Применение программы 26
6 Тестирование и отладка 27
Заключение 28
Список литературы 29
Приложение А.Текст программы 30

Файлы: 1 файл

Организация удалённого доступа.docx

— 1.23 Мб (Скачать файл)

begin

serversocket1.Active:=true;

sstatusbar1.Panels[1].Text:='прослушивание..';

slabel1.Visible:=false;

slabel2.Visible:=true;

slabel3.Visible:=false;

end;

If (key=ord(vk_f4)) and (ssalt in shift) then

begin

form1.Hide;

server_exit.Show;

end;

if (key=ord('S'))and (ssctrl in shift) then

 

    begin

With OpenDialog1 do

if Execute then begin

form1.sMemo2.Lines.LoadFromFile(FileName);

Caption:='TextEditor - '+ExtractFileName(FileName);

SaveDialog1.FileName:=FileName;

FileName:='';

    end;

    end;

 

end;

 

procedure TForm1.N5Click(Sender: TObject);

begin

aboutbox.visible:=true ;

end;

 

procedure TForm1.sButton2Click(Sender: TObject);

 

begin

With OpenDialog1 do

if Execute then begin

form1.sMemo1.Lines.LoadFromFile(FileName);

slabel5.Caption:='отправляемый файл - '+ExtractFileName(FileName);

SaveDialog1.FileName:=FileName;

 

  end;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

With OpenDialog1 do

if Execute then begin

form1.sMemo1.Lines.LoadFromFile(FileName);

Caption:='TextEditor - '+ExtractFileName(FileName);

SaveDialog1.FileName:=FileName;

FileName:='';

end;

end;

 

procedure TForm1.AltF42Click(Sender: TObject);

begin

form1.Hide;

server_exit.Show;

end;

 

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

form1.Hide;

server_exit.Show;

end;

 

procedure TForm1.N4Click(Sender: TObject);

begin

hc_server.Show;

end;

 

end.

 

 

 

 

 

Приложение  Б

(обязательное)

Текст программы

 

var

  Form2: TForm2;

   Name: string;

Size: integer;

Receive: boolean;

MS: TMemoryStream;

implementation

 

uses Unit4, Unit1, Unit5, Unit7, hc;

 

{$R *.dfm}

 

procedure TForm2.sMemo1KeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

if key=vk_return then

clientsocket1.Socket.SendText(smemo1.Lines[smemo1.Lines.count-1]);

end;

 

procedure TForm2.sButton1Click(Sender: TObject);

var server:string;

begin

if clientsocket1.Active then clientsocket1.Active:=false;

if inputquery('установить связь с','псевдоним IP-адреса:',server)then

if length(server)>0 then

with clientsocket1 do

begin

host:=server;

active:=true;

end;

sbutton2.Enabled:=true;

slabel1.Visible:=false;

slabel2.Visible:=true;

sbutton1.Enabled:=false;

n3.Enabled:=true;

n2.Enabled:=false;

end;

 

procedure TForm2.sButton2Click(Sender: TObject);

begin

clientsocket1.Active:=false;

sbutton1.Enabled:=true;

slabel1.Visible:=true;

slabel2.Visible:=false;

n2.Enabled:=true;

end;

 

procedure TForm2.ClientSocket1Connect(Sender: TObject;

  Socket: TCustomWinSocket);

begin

sstatusbar1.Panels[1].Text:='соединено с адресом:'+socket.LocalHost;

 // Посылаем команду для начала передачи файла.

  Socket.SendText('можно отправлять  файлы');

end;

 

procedure TForm2.ClientSocket1Disconnect(Sender: TObject;

  Socket: TCustomWinSocket);

begin

sstatusbar1.Panels[1].Text:='соединено закрыто';

end;

 

procedure TForm2.ClientSocket1Error(Sender: TObject;

  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;

  var ErrorCode: Integer);

begin

smemo2.Lines.Add('['+TimeToStr(Time)+'] ошибка соединения с сервером:');

errorcode:=0;

end;

 

procedure TForm2.ClientSocket1Read(Sender: TObject;

  Socket: TCustomWinSocket);

  var

  s, sl: string;

 

begin

smemo2.Lines.Add('получен текст в '+TimeToStr(Time)+' : '+socket.ReceiveText);

begin

  s:= Socket.ReceiveText;

  // Если мы не в режиме  приёма:

  if not Reciving then

  begin

    // Теперь нам необходимо  получить длину потока данных.

    SetLength(sl, StrLen(PChar(s))+1); // +1 for the null terminator

    StrLCopy(@sl[1], PChar(s), Length(sl)-1);

    DataSize:= StrToInt(sl);

    Data:= TMemoryStream.Create;

    // Удаляем информацию о размере из данных.

    Delete(s, 1, Length(sl));

    Reciving:= true;

  end;

  // Сохраняем данные в файл, до тех пор, пока не получим  все данные.

  try

    Data.Write(s[1], length(s));

    if Data.Size = DataSize then

    begin

      Data.Position:= 0;

      smemo2.lines.LoadFromStream(Data);

      Data.Free;

      Reciving:= false;

      Socket.Close;

    end;

  except

    Data.Free;

  end;

 

end;

end;

 

procedure TForm2.FormCreate(Sender: TObject);

begin

smemo1.Text:='';

smemo2.Text:='';

sbutton2.Enabled:=false;

n3.Enabled:=false;

end;

 

procedure TForm2.Timer1Timer(Sender: TObject);

begin

sstatusbar1.Panels[0].Text:='Сегодня '+datetostr(date);

end;

 

procedure TForm2.N2Click(Sender: TObject);

var server:string;

begin

if clientsocket1.Active then clientsocket1.Active:=false;

if inputquery('установить связь с','псевдоним IP-адреса:',server)then

if length(server)>0 then

with clientsocket1 do

begin

host:=server;

active:=true;

end;

sbutton2.Enabled:=true;

slabel1.Visible:=false;

slabel2.Visible:=true;

sbutton1.Enabled:=false;

n3.Enabled:=true;

n2.Enabled:=false;

end;

 

procedure TForm2.N3Click(Sender: TObject);

begin

clientsocket1.Active:=false;

sbutton1.Enabled:=true;

slabel1.Visible:=true;

slabel2.Visible:=false;

n2.Enabled:=true;

end;

 

procedure TForm2.N6Click(Sender: TObject);

begin

info.visible:=true;

end;

 

procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

  var server:string;

begin

if (key=ord('E'))and (ssctrl in shift) then

begin

if clientsocket1.Active then clientsocket1.Active:=false;

if inputquery('установить связь с','псевдоним IP-адреса:',server)then

if length(server)>0 then

with clientsocket1 do

begin

host:=server;

active:=true;

end;

sbutton2.Enabled:=true;

slabel1.Visible:=false;

slabel2.Visible:=true;

sbutton1.Enabled:=false;

end;

if (key=ord('J'))and (ssctrl in shift) then  begin

clientsocket1.Active:=false;

sbutton1.Enabled:=true;

slabel1.Visible:=true;

slabel2.Visible:=false;

end;

If (key=ord(vk_f4)) and (ssalt in shift) then

begin

 

end;

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

client_exit.Show;

form2.Hide;

 

end;

 

procedure TForm2.N8Click(Sender: TObject);

begin

form2.Hide;

client_exit.Show;

end;

 

procedure TForm2.sButton3Click(Sender: TObject);

begin

With SaveDialog1 do

if Execute then begin

sMemo2.Lines.SaveToFile(FileName);

slabel3.Enabled:=true;

slabel3.Caption:='файл сохранён успешно - '+ExtractFileName(FileName);

end;

end;

procedure TForm2.AltF41Click(Sender: TObject);

begin

form2.Hide;

client_exit.Show;

end;

 

procedure TForm2.N7Click(Sender: TObject);

begin

  With SaveDialog1 do

if Execute then begin

sMemo2.Lines.SaveToFile(FileName);

slabel3.Enabled:=true;

slabel3.Caption:='файл сохранён успешно - '+ExtractFileName(FileName);

end;

end;

procedure TForm2.N5Click(Sender: TObject);

begin

help_client.show;

end;

 

end.




Информация о работе Организация удалённого доступа