MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Visual basic 6 Winsock - Parte I

2 participantes

Ir para baixo

Esse tópico foi útil?

Visual basic 6 Winsock - Parte I I_vote_lcap100%Visual basic 6 Winsock - Parte I I_vote_rcap 100% 
[ 4 ]
Visual basic 6 Winsock - Parte I I_vote_lcap0%Visual basic 6 Winsock - Parte I I_vote_rcap 0% 
[ 0 ]
Visual basic 6 Winsock - Parte I I_vote_lcap0%Visual basic 6 Winsock - Parte I I_vote_rcap 0% 
[ 0 ]
 
Total de votos : 4
 
 

Visual basic 6 Winsock - Parte I Empty Visual basic 6 Winsock - Parte I

Mensagem por DragonicK Qui 04 Fev 2010, 13:43

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.
Visual basic 6 Winsock - Parte I Frmserver
---------------------------------------------------------------------------------------
No CommandButton1 iremos Startar o Servidor, então entramos com o código :
Visual basic 6 Winsock - Parte I Cmd1
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 :
Visual basic 6 Winsock - Parte I Cmd2
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 :
Visual basic 6 Winsock - Parte I Requestj
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 :
Visual basic 6 Winsock - Parte I Clientw
Renomeie o Winsock1 para Cliente e agora vamos nos conectar ao Servidor :
Visual basic 6 Winsock - Parte I Ocwo
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:
Visual basic 6 Winsock - Parte I Clientetimer
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 :
Visual basic 6 Winsock - Parte I Cmdenviar
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.
Visual basic 6 Winsock - Parte I Serverdata
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.
Visual basic 6 Winsock - Parte I Serverclose
Visual basic 6 Winsock - Parte I Jji8

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

Visual basic 6 Winsock - Parte I Sdp


Última edição por DragonicK em Sex 23 Ago 2013, 18:50, editado 4 vez(es)
DragonicK
DragonicK
Membro de Honra
Membro de Honra

Mensagens : 315

Ir para o topo Ir para baixo

Visual basic 6 Winsock - Parte I Empty Re: Visual basic 6 Winsock - Parte I

Mensagem por Valentine Qui 23 Jan 2014, 11:07

Muito bom Dragonick, mas ao invés de "sckClose" mude para "sckClosed" e o texto:
Crio uma variável para guardas
para
Crie uma variável para guardar

No Server_Close não seria melhor chamar o Command2_Click ao invés de repetir o código?

De qualquer forma + 1 crédito pela iniciativa

@Edit: Aqui vão alguns comandos mais básicos
Funções:
Accept: Aceita uma conecção esperada
Close: Prepara ou re-prepara o Winsock para ser utilizado novamente
Connect: Tenta se conectar com um computador que esteja esperando uma conexão
GetData: Armazena em uma determinada memória o valor atual recebido
Listen: "Escuta", isto é...abre uma porta e espera uma conexão
SendData: Envia uma determinada Mensagem para o Host Conectado

Propriedades:
Protocol: pode ser (0 ou sckTCPProtocol) ou (1 ou sckUDPProtocol)
LocalHostName: Nome do seu Host(você)
LocalIP: Seu IP
LocalPort: Sua Porta de escuta
RemoteHost: Host Remoto
RemoteHostIP: IP do Host Remoto
RemotePort: Porta do Host Remoto na qual está sendo usada
State: Estado atual do Componente, que varia de 0 a 9, Listado abaixo os estados

Status
sckClosed = 0 (Padrão, Fechado, preparado para o que precisar)
sckOpen = 1 (Aberto)
sckListening = 2 (Escutando)
sckConnectionPending = 3 (Esperando pronto para Conexão)
sckResolvingHost = 4 (Resolvendo Host)
sckHostResolved = 5 (Host Resolvido)
sckConnecting = 6 (Conectando)
sckConnected = 7 (Conectado)
sckClosing = 8 (Fechando conexão)
sckError = 9 (Erro)

Eventos:
Close: É Executado toda vez que a conexão fechada, não é executado quando a função close é utilizada...
Connect: É Executado toda vez que uma conexão é estabelecida
ConnectionRequest: É Executado toda vez que tentam se conectar com o seu controle, apenas se o seu controle estiver "escutando"(state = 2 ou state = sckListening)
DataArrival: É executado Toda vez que (quando conectado) receber alguma informação
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos