Talvez você tenha ficado impressionado com as funções poderosas e a tecnologia avançada dos softwares aplicativos de Internet, como o navegador IE da Microsoft. Talvez você ainda não seja capaz de desenvolver um sistema tão complexo em grande escala, mas não se preocupe, aqui pode lhe dar uma chance. para praticar, é aprender a usar o Winsocket do Delphi para escrever aplicativos baseados em TCP/ip. Supõe-se que você já esteja familiarizado com as ferramentas de desenvolvimento do Delphi.
Podemos imaginar que se você escrever um programa para se comunicar com um computador remoto desde o início, deverá ter uma familiaridade e domínio abrangentes dos protocolos de rede relevantes, conhecimento subjacente do sistema e tecnologia de software e hardware de rede. só pode ser alcançado num curto período de tempo. Não é uma tarefa fácil para a maioria das pessoas.
Felizmente, a biblioteca de componentes de rede do Delphi nos fornece componentes para implementar a comunicação de rede, que encapsulam os detalhes complexos da implementação. Os componentes ClientSocket e ServerSocket nos permitem escrever facilmente nossos próprios programas de comunicação de rede e compartilhamento de recursos.
As etapas para escrever programas Winsocket no Delphi 4.0 são as seguintes:
1) Configurações de propriedades do componente Winsocket;
2) Estabeleça uma conexão com o computador remoto;
3) Transmissão de dados entre computadores;
Essas três etapas são explicadas em detalhes abaixo.
um. Configurando propriedades do Winsocket
No Delphi 4.0, o Winsocket é subdividido em dois componentes: ClientSocket e ServerSocket. Eles servem como componentes do lado do cliente e do lado do servidor, respectivamente. Ou seja, o componente ClientSocket é usado no programa cliente e o componente ServerSocket é usado no lado do servidor. Através da comunicação entre esses dois componentes, juntamente com o código auxiliar da aplicação, um programa de comunicação simples pode ser implementado. Obviamente, se o ServerSocket for introduzido no programa cliente, o programa cliente poderá atuar como um servidor e responder às solicitações de outros programas clientes.
Se você estiver escrevendo um programa do lado do servidor, deverá definir a propriedade Port do componente ServerSocket. A razão pela qual esse parâmetro é definido é porque pode haver vários programas de servidor em execução no mesmo computador e eles podem aceitar constantemente solicitações de conexão de programas clientes remotos. Se você estiver tentando enviar um e-mail e o sistema conectar sua solicitação a outro programa de servidor, seu e-mail definitivamente não será enviado corretamente. Portanto, um número de porta adequado Port deve ser definido para o componente ServerSocket no programa do servidor. Você também pode definir o atributo Service, que indica o tipo de serviço fornecido pelo ServerSocket, como: FTP, HTTP, etc. Em seguida, defina a propriedade Active como True.
Se você estiver escrevendo um programa cliente, há mais propriedades para definir o componente ClientServer. O atributo Port deve ser definido para ser consistente com o valor do atributo Port no lado do servidor. Além disso, a propriedade Host deve ser definida corretamente. Ela é uma propriedade somente leitura e não está disponível em tempo de design. Indica o nome do host do servidor remoto ao qual o programa cliente deseja se conectar. Você também pode definir o atributo Address, que é o endereço IP do host remoto. Se ambos os atributos forem definidos, o sistema usará o atributo Host e o endereço IP definido pelo atributo Endereço se tornará inválido.
dois. Estabeleça uma conexão com um computador remoto
Para transferir dados entre sistemas de computadores remotos, primeiro deve ser estabelecida uma conexão entre os dois hosts em comunicação.
O componente ServerSocket no lado do servidor chama o método Open para inicializar a conexão Socket. Ao mesmo tempo, ele define o atributo Active como True, define o componente ServerSocket para o modo de escuta e detecta se há uma solicitação de conexão a qualquer momento.
Se o servidor aceitar a solicitação de conexão do programa cliente, o evento OnAccept será acionado. O código a seguir é o que o programa do servidor precisa fazer após aceitar a conexão.
PRocedure Myform..ServerSocketAccept(Remetente: TObject, Socket: TCustomWinSocket);
começar
ÉServidor := Verdadeiro;
fim;
No programa cliente, o componente ClientSocket define as propriedades necessárias, como Porta e Host, e então define a propriedade Active como True para fazer uma solicitação de conexão.
três. Transferência de dados entre computadores
Assim que o servidor aceitar a solicitação de conexão do cliente, o cliente poderá enviar dados. Neste momento, existe um Socket entre o cliente e o servidor, e a comunicação é feita através deste Socket. Portanto, o atributo Socket é muito importante e possui muitos métodos. Usando alguns métodos simples, você pode enviar e receber dados.
O lado do cliente usa o seguinte formato: ClientSocket1.socket.sendtext('string que você deseja enviar');
No lado do servidor, assume o seguinte formato: ServerSocket1.socket.recievetext(str: string); Esta função retorna o comprimento da string recebida e armazena a string na variável str.
O exemplo acima é o exemplo mais simples de transmissão de dados. Você também pode usar outros métodos fornecidos pela propriedade Socket para implementar transmissão de dados complexa.
Embora seja muito conveniente usar o componente Winsocket no Delphi 4.0, se você quiser ser realmente proficiente em usá-lo para desenvolver aplicativos de rede, deverá ler atentamente seus arquivos de ajuda e programas de exemplo. Compare as vantagens deste método no aprendizado contínuo, domine seus recursos de programação e, a seguir, domine as habilidades de programação de outros componentes de rede fornecidos no Delphi, como: NMPOP3, NMUDP, NMFTP, etc. Até então, você terá a capacidade de participar do desenvolvimento de aplicações de rede reais, em vez de apenas pegar o software de aplicação de rede de outras pessoas, configurá-lo e operá-lo com habilidade.