[16B!] Criando um Chat {SOCKET}
+3
Jhaz
Alvaro
16bitz
7 participantes
- 16bitz
Membro - Posts : 51
Créditos : 0
Respeito : 1
Programador de jogos.
[16B!] Criando um Chat {SOCKET}
Sáb 02 Fev 2013, 16:08
Olá Convidado !
Neste tópico irei ensinar como criar um chat por socket, é algo fácil de fazer e as vezes bem útil.
1. mswinsck.OCX
2. Form no VB
3. Começando o projeto
4. Botões e Enviar texto.
5. Adicionando funções aos botões.
6. Criando o Servidor
7. Finalmente podemos "Chatear" ou não...
Print do servidor criado :
Créditos :
16bitz - Criador manualmente do tópico.
Visual Basic - Usado na criação e pelos códigos.
Windows - Pelo mswinsck.OCX.
Suporte não oficial,
16bitz.
Neste tópico irei ensinar como criar um chat por socket, é algo fácil de fazer e as vezes bem útil.
1. mswinsck.OCX
Clique aqui.Primeiro faça o download deste arquivo .OCX :
2. Form no VB
Agora abra seu VB e crie um novo projeto com um Windows Form Application, agora depois de criar o Form, clique com o botão direito em "ALL WINDOWS FORMS" e clique em "Choose Items", agora no menu de cima você clica em "COM Components" Clique em Browser e procure o arquivo mswinsck.OCX e clique nele e aperter em "ABRIR", pronto, o OCX foi selecionado, parte resolvida, dê um OK e pronto, o .OCX estará na lista como se fosse um componente do VB, vamos ao próximo passo.
3. Começando o projeto
Adicione o Microsoft WinSock Components no Formulário, ele estará lá no final da lista.
Escolha o tamanho do seu chat, recomendo um tamanho médio, na parte superior, faça uma TEXTBOX grande que irá mostrar as falas, e coloque as propiedades dela assim : ReadOnly = True, MultiLine = True e deixe o fundo dele branco.
4. Botões e Enviar texto.
Certo, agora adicione uma TEXTBOX abaixo da anterior, esta irá servir para enviar o texto que o usuário quiser, crie dois BUTTONS também, um para o usuário se conectar ao servidor o outro para o usuário Enviar a mensagem, nas propriedades dos botões coloque assim :
Botão de enviar : Name = btnEnviar.
TEXTBOX que é onde irão digitar o texto : Name = txtMensagem.
Botão de se conectar : Name = btnConectar.
Componente Winsock : Name = Sock.
5. Adicionando funções aos botões.
Dê dois cliques no botão Conectar e espere a aba de códigos se abrir, no meio do Private Sub e do End Sub digite isso :
No Sock.LocalIP você pode mudar para RemoteHost e colocar no lugat de 127.0.0.1 para o IP do host, hamachi ou outro...
- Código:
Sock.RemotePort = SUAPORTA
Sock.RemoteHost = Sock.localIP '127.0.0.1
Sock.Connect
Agora você clica no canto onde está escrito Form1 (Fica abaixo do Form1.vb) ao clicar lá selecione o Sock e em Declarations selecione DataArrival e no Sub que irá se criar coloque o seguinte comando :
Pronto, agora vamos dar o comando ao botão Enviar, clique duas vezes no botão enviar e na SUB que irá se criar coloque o seguinte comando :
- Código:
Dim A as Object = Nothing
Dim NovaString As String = ""
Dim Caractere As Byte
Sock.GetData(A)
For Each Caractere In A
NovaString = String.Concat(NovaString, Chr(Caractere))
Next
TextBox1.Text = String.Concat(TextBox1.Text, vbNewLine, NovaString)
Beleza, já está pronto as funções, Chat Criado.
- Código:
Sock.SendData(">" & txtMensagem.Text)
TextBox1.Text = String.Concat(TextBox1.Text = vbNewLine & txtMensagem.Text)
txtMensagem.Text = ""
6. Criando o Servidor
Adicione ao seu Windows Application uma nova Form, na Form2 adicione uma ListBox, isso servirá para mostrar toda LOG do chat, tudo que uma pessoa falar irá aparecer ali, serve para o controle do ADM, Adicione agora mais duas TextBox uma para mostrar mensagens do servidor e outra para você enviar mensagens para todos conectados, crie também um Button e o próprio Sock, que baixamos anteriromente, nas Propriedades coloque assim :
Na TextBox de enviar - Name = txtMensagem.
No Botão de Enviar - Name = btnEnviar.
No Socket - Name = Sock
Agora, dando dois cliques no Form2.vb, você deverá colocar o código a seguir entre o Private Sub Form2_Load e o End Sub :
Agora na Form2 Events, abaixo do Form2.vb selecione o Sock e em Declarations selecione o ConnectionRequest, na sub que irá se criar, coloque isto :
- Código:
Sock.LocalPort = SUAPORT
Sock.Listen()
ListBox1.Items.Add("Servidor Online, bom chat!")
Agora dê dois cliques no botão que criamos na Form2 e na sub dele adicione isto :
- Código:
Sock.Close()
ListBox1.Items.Add("Fazendo Conexão")
Sock.Accept(e.requestID)
ListBox1.Items.Add("Usuário conectado!")
Sock.SendData("Você se Conectou ao chato !")
Agora de novo, adicione outro evento para o Sock, desta vez o DataArrival, na Sub dele coloque isto (a mesma coisa de antes) :
- Código:
Sock.SendData(">" & txtMensagem.Text)
TextBox1.Text = String.Concat(TextBox1.Text, vbNewLine & txtMensagem.Text)
txtMensagem.Text = ""
ListBox1.Items.Add("Mensagem Enviada !")
Pronto, nosso servidor e nosso Chat estão prontos.
- Código:
Dim A as Object = Nothing
Dim NovaString As String = ""
Dim Caractere As Byte
ListBox1.Items.Add("Mensagem Recebida")
Sock.GetData(A)
For Each Caractere In A
NovaString = String.Concat(NovaString, Chr(Caractere))
Next
TextBox1.Text = String.Concat(TextBox1.Text, vbNewLine, NovaString)
7. Finalmente podemos "Chatear" ou não...
Agora para podermos terminar tudo mesmo, vá até o Form1.vb denovo e clique nele, na Sub Form1_Load coloque o seguinte código :
Pronto, agora pode testar seu chat com o debug e depois construir ele com o Build.
- Código:
Form2.Show()
Boa Sorte !
Print do servidor criado :
- Spoiler:
- [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Créditos :
16bitz - Criador manualmente do tópico.
Visual Basic - Usado na criação e pelos códigos.
Windows - Pelo mswinsck.OCX.
Suporte não oficial,
16bitz.
- Alvaro
Membro Lendário - Idade : 25
Posts : 3935
Créditos : 200
Respeito : 29
All users are.
Re: [16B!] Criando um Chat {SOCKET}
Sáb 02 Fev 2013, 17:40
Muito bom para pessoas como eu, que estão voltando ao VB.
- Jhaz
Membro Lendário - Idade : 28
Posts : 2753
Créditos : 10000
Respeito : 18
Re: [16B!] Criando um Chat {SOCKET}
Ter 05 Fev 2013, 07:57
Interessante, tenho a curiosidade de começar a trabalhar com VB.
Obrigado por compartilhar,
Será útil para pessoas como eu, ou como o Lyber.
Obrigado por compartilhar,
Será útil para pessoas como eu, ou como o Lyber.
- covital
Membro VIP - Idade : 27
Posts : 2107
Créditos : 0
Respeito : 18
God damn asshole
Re: [16B!] Criando um Chat {SOCKET}
Seg 11 Fev 2013, 01:56
Interessante, tenho a curiosidade de começar a trabalhar com VB.
Obrigado por compartilhar,
Será útil para pessoas como eu, ou como o Lybe, ou como o Jhaz.
Obrigado por compartilhar,
Será útil para pessoas como eu, ou como o Lybe, ou como o Jhaz.
- PontoZero
Novato - Posts : 2
Créditos : 0
Respeito : 0
ProPixel
Re: [16B!] Criando um Chat {SOCKET}
Seg 11 Fev 2013, 09:45
Olá , parabéns pelo tópico,
mais você poderia otimizar isso,
como por exemplo na parte do ip e porta de conexão,
ficaria mais interessante o próprio usuário escolher
o IP e porta ao qual ele quer se conectar, como por exemplo,
ao em vez de
Colocar
e no Server também , uma text
para pegar a porta que ele quer
definir para o servidor.
Porque ficaria mais facil para fazer
futuras alterações.
Algo parecido com isso,
Até mais [=
mais você poderia otimizar isso,
como por exemplo na parte do ip e porta de conexão,
ficaria mais interessante o próprio usuário escolher
o IP e porta ao qual ele quer se conectar, como por exemplo,
ao em vez de
- Código:
Sock.RemotePort = SUAPORTA
Sock.RemoteHost = Sock.localIP '127.0.0.1
Sock.Connect
Colocar
- Código:
Dim Porta as long
Dim IP as long
Porta = txtPorta.text
IP = txtIP.text
Sock.RemotePort = Porta
Sock.RemoteHost = IP
Sock.Connect
e no Server também , uma text
para pegar a porta que ele quer
definir para o servidor.
Porque ficaria mais facil para fazer
futuras alterações.
Algo parecido com isso,
Até mais [=
- 404
Membro - Idade : 23
Posts : 84
Créditos : 0
Respeito : 0
Carregando... Aguarde!
Warning :
Re: [16B!] Criando um Chat {SOCKET}
Qua 20 Fev 2013, 19:26
Cara muito bom o tutorial eu vou fazer um chat agora!!! não tem nem comparação com o xat apesar de ser mt antigo '~' mais vlw mesmo!!!
- Koily
Coordenador - Idade : 29
Posts : 4744
Créditos : 250
Respeito : 36
Foco, força e fé.
Warning :
Re: [16B!] Criando um Chat {SOCKET}
Qua 20 Fev 2013, 19:38
Não tem comparação com o xat? Eu acho o xat horrível. '-' Qualquer um faz algo melhor.
- 404
Membro - Idade : 23
Posts : 84
Créditos : 0
Respeito : 0
Carregando... Aguarde!
Warning :
Re: [16B!] Criando um Chat {SOCKET}
Qua 20 Fev 2013, 19:46
com isso eu tenho que concordar opask e.e xat é perca de tempo eu só tenho um no meu blog hasushaKoily escreveu:Não tem comparação com o xat? Eu acho o xat horrível. '-' Qualquer um faz algo melhor.
- Koily
Coordenador - Idade : 29
Posts : 4744
Créditos : 250
Respeito : 36
Foco, força e fé.
Warning :
Re: [16B!] Criando um Chat {SOCKET}
Qua 20 Fev 2013, 20:35
Pois é cara, eu mesmo já fiz um chat e ficou bem melhor. skaposk
- Conteúdo patrocinado
Re: [16B!] Criando um Chat {SOCKET}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|