Winsock Básico
No projeto, adicione um componente Winsock e renomeie para Server, agora adicione mais 2 botões e mude o caption do Button1 para Start e Button2 Stop. Ops! e uma Label para podermos indicar o Status.
---------------------------------------------------------------------------------------
No CommandButton1 iremos Startar o Servidor, então entramos com o código :
Aqui definimos qual porta será usada. Logo abaixo o comando Listen, é usado para entrar no modo de “escuta”, ou seja, o servidor está esperando uma conexão, “escutando”.
---------------------------------------------------------------------------------------
No CommandButton2 iremos parar o Servidor, então entramos com o código :
Aqui irá fechar o Servidor e qualquer tipo de conexão que esteja ou não em andamento será finalizada.
---------------------------------------------------------------------------------------
Nossa próxima etapa é aceitar a conexão do cliente :
Nesta Sub, temos que fechar o modo de escuta, e aceitar a conexão. Verifico se o estado do Servidor está “diferente” de “Fechado”. Se estiver fechado, aceita a conexão. Senão, fecha o Server e depois aceita.
---------------------------------------------------------------------------------------
Agora vamos criar um novo Projeto, este será o cliente :
Adicione :
3 TextBox
3 Label
3 CommandButton
1 Componente Winsock
1 Timer
Ficando na forma final assim :
Renomeie o Winsock1 para Cliente e agora vamos nos conectar ao Servidor :
No Command1 eu usei o código para entrar. Primeiro eu declaro as variáveis, depois defino as variáveis. Antes de conectar eu verifico se o Cliente já esta Conectado, se estiver, a mensagem será exibida, caso contrário, ele conecta ao Server. E no Command2 temos o botão sair, que irá fechar o programa.
--------------------------------------------------------------------------------------
No Timer1 deixe, o Interval em 1000 e em Enabled deixe como True:
A cada 1 segundo o Timer verificará o estado do cliente, quando estiver conectado irá mostrar na Label3.
---------------------------------------------------------------------------------------
No botão Enviar que é o Command3, vamos enviar os dados contidos na TextBox3 para o servidor :
Crio uma variável para guardas as informações contidas em TextBox3, verifico se o estado do cliente está conectado, se estiver envia os dados, do contrário mostra a mensagem.
---------------------------------------------------------------------------------------
Agora devemos voltar ao servidor para manipular os dados que foram enviados do Cliente.
Na Sub Server_DataArrival, primeiro devemos declarar uma variável para que o Server, quando baixado as informações, guardar os dados nesta variável.
“Server.GetData Pacote “ A cada vez o que o servidor receber dados enviados pelo Cliente, esta sub é acionado e ele irá guardar os dados na variável Pacote.
Então mostra a mensagem “Recebi do Cliente : “ + Dados Recebidos.
---------------------------------------------------------------------------------------
E para finalizar, vamos a Sub Server_Close, quando o Server perder a conexão.
E também, adicionar o mesmo ao cliente.
Fechar o Cliente e o Server quando perder a conexão.
Toda vez que o Server e o Cliente perderem a conexão, irão fechar. E então teremos que Startar novamente.
Espero que este tutorial tenha lhe ajudado a entender mais sobre o winsock.
Dica: Sempre tente, verificar os estados do sock, assim você pode ter menos erros em seu programa.
Download do projeto : Winsock Projeto
No projeto, adicione um componente Winsock e renomeie para Server, agora adicione mais 2 botões e mude o caption do Button1 para Start e Button2 Stop. Ops! e uma Label para podermos indicar o Status.
---------------------------------------------------------------------------------------
No CommandButton1 iremos Startar o Servidor, então entramos com o código :
Aqui definimos qual porta será usada. Logo abaixo o comando Listen, é usado para entrar no modo de “escuta”, ou seja, o servidor está esperando uma conexão, “escutando”.
---------------------------------------------------------------------------------------
No CommandButton2 iremos parar o Servidor, então entramos com o código :
Aqui irá fechar o Servidor e qualquer tipo de conexão que esteja ou não em andamento será finalizada.
---------------------------------------------------------------------------------------
Nossa próxima etapa é aceitar a conexão do cliente :
Nesta Sub, temos que fechar o modo de escuta, e aceitar a conexão. Verifico se o estado do Servidor está “diferente” de “Fechado”. Se estiver fechado, aceita a conexão. Senão, fecha o Server e depois aceita.
---------------------------------------------------------------------------------------
Agora vamos criar um novo Projeto, este será o cliente :
Adicione :
3 TextBox
3 Label
3 CommandButton
1 Componente Winsock
1 Timer
Ficando na forma final assim :
Renomeie o Winsock1 para Cliente e agora vamos nos conectar ao Servidor :
No Command1 eu usei o código para entrar. Primeiro eu declaro as variáveis, depois defino as variáveis. Antes de conectar eu verifico se o Cliente já esta Conectado, se estiver, a mensagem será exibida, caso contrário, ele conecta ao Server. E no Command2 temos o botão sair, que irá fechar o programa.
--------------------------------------------------------------------------------------
No Timer1 deixe, o Interval em 1000 e em Enabled deixe como True:
A cada 1 segundo o Timer verificará o estado do cliente, quando estiver conectado irá mostrar na Label3.
---------------------------------------------------------------------------------------
No botão Enviar que é o Command3, vamos enviar os dados contidos na TextBox3 para o servidor :
Crio uma variável para guardas as informações contidas em TextBox3, verifico se o estado do cliente está conectado, se estiver envia os dados, do contrário mostra a mensagem.
---------------------------------------------------------------------------------------
Agora devemos voltar ao servidor para manipular os dados que foram enviados do Cliente.
Na Sub Server_DataArrival, primeiro devemos declarar uma variável para que o Server, quando baixado as informações, guardar os dados nesta variável.
“Server.GetData Pacote “ A cada vez o que o servidor receber dados enviados pelo Cliente, esta sub é acionado e ele irá guardar os dados na variável Pacote.
Então mostra a mensagem “Recebi do Cliente : “ + Dados Recebidos.
---------------------------------------------------------------------------------------
E para finalizar, vamos a Sub Server_Close, quando o Server perder a conexão.
E também, adicionar o mesmo ao cliente.
Fechar o Cliente e o Server quando perder a conexão.
Toda vez que o Server e o Cliente perderem a conexão, irão fechar. E então teremos que Startar novamente.
Espero que este tutorial tenha lhe ajudado a entender mais sobre o winsock.
Dica: Sempre tente, verificar os estados do sock, assim você pode ter menos erros em seu programa.
Download do projeto : Winsock Projeto