Parte3: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005 | ::. Luciana Costa .::
InícioParte3: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005
Parte3: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005
Para criar um cliente de pipe nomeado que se comunica com o servidor, execute as seguintes etapas:
Chame a função CreateFile para criar um identificador para o pipe nomeado.
Chame a função CloseHandle no identificador criado na função CreateFile.
Também é possível usar uma transação de pipe nomeado para a comunicação cliente/servidor. A transação de pipe nomeado combina uma operação de escrita e uma operação de leitura em uma única operação de rede. Uma transação pode ser usada apenas em um pipe duplex do tipo mensagem. Os processos podem usar a função TransactNamedPipe ou a função CallNamedPipe para executar transações de pipe nomeado.
Neste exemplo de código, você usa a função CallNamedPipe para conectar ao servidor de pipe nomeado, escrever os dados no pipe e ler os dados no pipe.
Projetar um aplicativo do Windows que se comunica com o servidor de pipe nomeado
Para projetar um aplicativo do Visual Basic .NET ou do Visual Basic 2005 Windows usado para conectar ao servidor de pipe nomeado, execute as seguintes etapas:
No menu File, aponte para New e clique em Project.
Em Project Types, clique em Visual Basic Projects e clique em Windows Application em Templates.
Observação No Visual Studio 2005, clique em Visual Basic em Project Types.
Na caixa Name clique em MyClientApp e clique em OK. Por padrão, um formulário chamado Form1 é criado.
Adicione um controle Button ao formulário Form1.
Clique com o botão direito do mouse em Button1 e clique em Properties.
Defina a propriedade Text como Connect to the server.
Adicione um controle Label ao formulário Form1. O controle Label Label1 é adicionado ao formulário Form1.
Defina a propriedade Visible do controle Label Label1 como False.
Adicione dois controles TextBox ao formulário Form1.
Escrever código para conectar ao servidor de pipe nomeado
Conecte ao servidor de pipe nomeado usando a função CallNamedPipe. Depois de conectar ao servidor, a função CallNamedPipe escreve para o pipe, lê no pipe e fecha o pipe. Para conectar ao servidor, ler e escrever os dados, execute as seguintes etapas:
Na exibição Design, clique duas vezes em Connect to the server e adicione o seguinte código ao procedimento Button1_Click:
Adicione o seguinte código antes do procedimento Button1_Click:
Private Const pipeName As String = "\\.\pipe\MyPipe" Private Const BUFFSIZE As Integer = 10000 Private hpipe As Integer      Public Const INVALID_HANDLE_VALUE As Short = -1 Public Declare Function CallNamedPipe Lib "kernel32" Alias "CallNamedPipeA" _ (ByVal lpNamedPipeName As String, _ ByRef lpInBuffer As Integer, _ ByVal nInBufferSize As Integer, _ ByRef lpOutBuffer As Byte, _ ByVal nOutBufferSize As Integer, _ ByRef lpBytesRead As Integer, ByVal nTimeOut As Integer) As Integer
Verificar se o código funciona
Para verificar se o código funciona, execute as seguintes etapas:
Para iniciar o aplicativo do servidor, clique em Start no menu Debug do projeto MyServerApp.
No formulário Form1, clique em Create a named pipe e em Wait for the client connections. Agora, o aplicativo está bloqueado e aguardando o cliente conectar.
Para iniciar o aplicativo cliente, clique em Start no menu Debug do projeto MyClientApp.
No formulário Form1, digite 10 na caixa TextBox1 e clique em Connect to the server. É possível ver a matriz de byte recebida na caixa TextBox2.
Para desconectar o aplicativo cliente do servidor, digite 0 na caixa TextBox1 no aplicativo cliente e clique em Connect to the server.
Feche o aplicativo cliente.
Para desconectar a extremidade do servidor do pipe nomeado e fechar o aplicativo do servidor, clique em Disconnect the server no formulário Form1 do aplicativo do servidor.
← Parte2: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005
Chegou a nova versão do Windows Live Messenger →
2 comentários sobre "Parte3: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005"