Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Rápido de Aplicação Material IV-Bimestre Conceitos do protocolo TCP/IP Aplicações http, ftp, smtp, pop3 e socket site: http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus O que vem a ser um protocolo ? Vem a ser a regra na qual os programas que administram como as informações enviadas por uma rede irão se comportar. no momento de sua transmissão. TCP/IP Protocolo de controle de transmissão, IP(Internet protocol). É um dos protocolos mais usados e conhecidos no mundo. Nada mais é do que um conjunto de programas capaz de transmitir informações em uma rede de computadores. TCP/IP O conjunto de protocolos TCP/IP é um conjunto de protocolos de comunicação entre computadores em rede. Seu nome vem dos dois protocolos mais importantes do conjunto: o TCP (Transmission Control Protocol Protocolo de Controle de Transmissão) e o IP (Internet Protocol - Protocolo de Interconexão). O conjunto de protocolos pode ser visto como um modelo de camadas, onde cada camada é responsável por um grupo de tarefas, fornecendo um conjunto de serviços bem definidos para o protocolo da camada superior. As camadas mais altas estão logicamente mais perto do usuário (chamada camada de aplicação), e lidam com dados mais abstratos, confiando em protocolos de camadas mais baixas para tarefas de menor nível de abstração. TCP/IP é um protocolo bem sucedido no tratamento das rede do tipo WAN. Web Area Network - Redes que trabalham na comunicação de computadores em longas distâncias. Exemplo : Internacional Network Computer. (Internet). OSI (Open System Interconnect) Vem a ser o modelo criado para padronizar as redes de comunicação para que computadores do mundo inteiro pudessem se comunicar. Modelo - OSI Consiste de quatro camadas: TCP/IP Aplicação Transporte Rede Física “Comunicação em uma rede” Para se comunicar em uma rede de computadores e necessário um receptor e um transmissor e um meio de transmissão que chamamos de rede. (Cliente/Servidor). Funcionamento da rede (TCP/IP) Sistema Operacional Programas Protocolos do padrão (TCP/IP) Bytes Hardware (Placas de rede, Cabos e Processadores) Os programas que atuam na camada de aplicação. • HTTP - Protocolo de transmissão de hipertexto. • FTP - Protocolo de transmissão de arquivos. • Socket - Cova ou porta de transmissão de dados. • Smtp - Protocolo de transmissão de mensagens de servidor. • Pop3 (Post Office Protocol) - Protocolo de recepção de mensagens. Criando um Browser. WebBrowser (Paleta Internet) Permite a criação de um navegador web com todas as suas funcionalidades. Sintaxe : WebBrowser.método(); Exemplo: Navigate() Carrega um página no corpo do browser especificada pela URL. Exemplo : WebBrowser1.Navigate(‘http://www1.univap.br/~wagner’); ou WebBrowser1.Navigate(‘c:\diretorio\teste.html’); Offline Permite habilitar o browser para navegação “Offline” ou “Online”. Exemplo : WebBrowser1.Offline := true; Obs: Este exemplo seta a navegação para ser feita sem a conexão na rede. (Offline). Path Retorna com o caminho físico da URL chamada. Exemplo : Str1 :=WebBrowser1.Path ; Obs : A variável Str1 deve ser do tipo String. LocationName Retorna com o nome do caminho curto para URL. Exemplo : Str1 :=WebBrowser1.LocationName ; Obs : A variável Str1 deve ser do tipo String. LocationURL Retorna com o nome da URL atual carrega da no browser. URL(User Resource Location). Exemplo : Str1 :=WebBrowser1.LocationURL; Obs : A variável Str1 deve ser do tipo String. GoBack Volta para página anterior a que foi chamada.(Voltar). Exemplo : WebBrowser1.GoBack; GoForward Volta para página posterior a que foi chamada. (Avançar). Exemplo : WebBrowser1.GoForward; Try except Permite verificar e fazer o tratamento de uma exceção ou seja quando ocorre um erro em tempo de execução do programa. Exemplo : Button1.Enabled := True; try WebBrowser1.GoBack; Except Button1.Enabled := False; end; Refresh Atualiza a página carregada. Exemplo : WebBrowser1.Refresh; Stop Para a execução de uma URL solicitada. Exemplo : WebBrowser1.Stop; Enviando arquivo de dados NMFTP Esse componente permite enviar, capturar, apagar, renomear arquivos e diretórios em um computador remoto (servidor), Encontra-se na paleta FastNet do ambiente. Atenção Para se fazer uso das propriedade de componente FTP é necessário saber que é obrigatória a autenticação de usuário para que se possa desenvolver a aplicação desejada. Estabelecendo a conexão FTP. Efetuando Autenticação NMFTP1.Host := ‘ftp.teste.com’; NMFTP1.Port := 21; NMFTP1.Timeout := 5000; NMFTP1.UserID := ‘teste’; NMFTP1.Password := ‘senha123’; Connect Propriedade que realiza a conexão na rede com servidor de ftp. Exemplo : try NMFTP1.Connect; except On E:Exception do ShowMessage(E.message); end Download Realiza a copia de um arquivo do servidor. Sintaxe : NMFTP1.Download( <Arquivo remoto> , <Arquivo local>); Exemplo : try NMFTP1.Download( ‘lixo.gif’, ‘lixo2.gif’); except end; Abort Cancela o processo de download do arquivo. Sintaxe : NMFTP1. Abort; Exemplo : NMFTP1.Abort; Upload Realiza a copia para um computador remoto. Sintaxe : NMFTP1.Upload( <Arquivo Local>,<Arquivo Remoto>); Exemplo : try NMFTP1.Upload(’lista.gif’, ‘/pasta/lista.gif’); except end; Rename Muda o nome do arquivo no servidor. Sintaxe : NMFTP1.Rename( <Nome Antigo> , <Novo Nome>); Exemplo : NMFTP1.Rename (‘lista.gif’ , ‘imagem.gif’); Delete Apaga um arquivo do servidor. Sintaxe : NMFTP1.Delete( <Nome Arquivo>); Exemplo : NMFTP1.Delete (‘lista.gif’); SMTP POP3 Envio de e-mail NMSmtp disponível paleta FastNet Permite enviar um e-mail para um destinatário no servidor. Não existe autenticação neste objeto por isso se a rede pedir autenticação significa que você não possui acesso a enviar mensagens desta maneira para fora da rede que está conectado. Host Propriedade onde será indicado o servidor smtp que desejar enviar o email. Exemplo : NMSmtp1.Host := ‘smtp.terra.com.br’; UserID Propriedade que identifica o usuário proprietário da conta de e-mail. Port = 25 Exemplo : NMSmtp1.UserID := ‘jbprado’; Connect Método que realiza a conexão, especificados o usuário e a servidor. Exemplo : NMSmtp1.Connect; PostMessage Propriedade faz tratamento das mensagens que devem ser enviadas pelo servidor smtp. Sintaxe : NMSmtp1.PostMessage.métodos/Propriedade; FromAddress Especifica o endereço de e-mail de onde a mensagem será enviada. Exemplo : NMSmtp1.PostMessage.FromAddress := ‘[email protected]’; ToAddress.Add() Especifica o endereço de e-mail para onde a mensagem será enviada. Exemplo : SM1.PostMessage.ToAddress.Add (’[email protected]'); Subject Especifica o qual será o assunto que deseja tratar com o destinatário. Exemplo : NMSmtp1.PostMessage. Subject := ‘Reunião do 27-Outubro’; Date Data do envio do e-mail. Exemplo : NMSmtp1.PostMessage. Date := DateToStr(Now); Body, Assign() Propriedade Body especifica qual o que será colocado no corpo do e-mail. Método Assign() - Especifica o conteúdo que será enviado para o e-mail. Exemplo : NMSmtp1.PostMessage.Body.Assign(‘Hoje estarei ai às 14h’); Attachments Permite determinar se haverá um arquivo ou texto anexo ao e-mail enviado. Exemplo : NMSmtp1.PostMessage.Attachments.Add('c:\fotos\imagem.jpg'); SendMail Envia o e-mail para o servidor caso não ocorra nenhuma exceção. Exemplo : NMSmtp1. SendMail; Disconnect Corta a conexão com servidor de e-mail. Exemplo : NMSmtp1. Disconnect; NMPop3 (Recebendo e-mail) Possibilita a recepção de um e-mail gravado no servidor. Propriedade de conexão: GetMailMessage Armazena um e-mail do servidor na memória. Exemplo : NMPOP31.GetMailMessage(1); Body Mostra o corpo GetMailMessage() do e-mail selecionado Exemplo : Memo1.Lines.Assign(NMPOP31.MailMessage.Body); por Socket Vem a ser um protocolo capaz de enviar dados (mensagens) para um computador remoto em tempo real. Usando esse tipo de recurso é possível tratar em tempo real qualquer informação a ser submetida em uma rede local ou remota. Um Socket pode ser encontrado em dois estados Cliente e Servidor. ClientSocket Permite enviar mensagens para o servidor encontra-se na paleta (Internet). Obs : Para enviar uma mensagen para um servidor é necessário identificar a porta e o número IP (número de identificação na rede). Host A propriedade Host permite enviar a identificação IP que determina para qual computador a mensagem será enviada. Exemplo : ClientSocket1.Host := ’127.0.0.1’; Obs : Esse número de IP, não é válido na rede e sim para máquinas locais. Port Cria a porta que servira como transmissor de dados entre o cliente e o servidor. Exemplo : ClientSocket1.Port := 1024; Active Realiza a conexão com o servidor especificado na propriedade Host. Tipo de valor passado booleano (true, False). Exemplo : ClientSocket1.Active :=true; Exemplo Conexão do Cliente ClientSocket1.Host := ‘127.0.0.1’; ClientSocket1.Port := 1024; ClientSocket1.Active := True; SendText O método SendText envia uma informação para o servidor. Exemplo : ClientSocket.Socket.SendText(’Ana: sorri para todos !!!'); ServerSocket(Servidor) Recebe as mensagens enviadas por um cliente. Deverá ser especificada a porta de comunicação estabelecida pelo cliente. Exemplo : ServerSocket1.Port := 1024; Evento : ServerSocketAccept procedure TChatForm.ServerSocketAccept(Sender: TObject; Socket: TCustomWinSocket); begin IsServer := True; Label1.Caption := 'Connected to: ' + Socket.RemoteAddress; end; RemoteAddress, pega o endereço IP Conectado !!!! ServerSocket(servidor) Captura as informações enviadas pelo cliente. A propriedade (Port) deverá ser a mesma do cliente. Exemplo : procedure TChatForm.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); begin Edit1.Text := Socket.ReceiveText; end; Close : Fecha conexão O método close encerra uma conexão do cliente com servidor ou ambos. Exemplo : ServerSocket.Close; ClientSocket.Close;