O controle winsock no Visual Basic 6 permite criar programas que estabelecem conexões entre si através de uma rede , com um programa que age como um servidor e outro como cliente. O controle winsock tem vários métodos usados para conectar, enviar e receber dados . Você pode usar dados literais, informações de caixas de texto ou até mesmo variáveis para passar informações . No entanto, porque as matrizes utiliza índices e tem vários itens de dados , passando estas obras um pouco diferente do que passar outros tipos de dados. Instruções
Programa Servidor
1
Abra um novo projeto Visual Basic . Clique em " Project" no menu e clique em "Componentes ". Role para baixo na caixa de diálogo , clique em " Microsoft Winsock Control 6.0 " caixa para colocar uma verificação nele, então clique no botão " OK" botão.
2
clique duas vezes no controle Winsock na caixa de ferramentas para adicioná-lo ao formulário. Também clique duas vezes no controle CommandButton eo controle TextBox duas vezes para adicionar estes três controles ao formulário . Clique e arraste-os para organizá-los como você gostaria .
3
Clique duas vezes no formulário para abrir o sub-rotina Form_Load . Digite o seguinte código:
Winsock1.LocalPort = portNumberWinSock1.Listen
Quando o programa de servidor é executado , este código abre o winsock e escuta para uma conexão do cliente no número de porta fornecido. Ou usar uma variável para definir um número de porta ou digite um número inteiro diretamente , como a porta 21 ou 22
4
Abra o sub-rotina WinSock1_ConnectionRequest e digite o seguinte código: .
Se Winsock1 . Estado < > sckClosed ThenWinSock1.CloseEnd IfWinSock1.Accept requestID
Este verifica se o controle winsock estabeleceu uma conexão e se assim for , ele fecha -lo, então aceita solicitações de clientes para estabelecer uma nova conexão.
5
Abra o sub-rotina WinSock1_DataArrival e digite o seguinte código: Dim
strData Como StringWinSock1.GetData strData , vbStringText1.Text = Text1.Text & strData
a primeira linha cria uma nova variável de seqüência para obter dados de entrada do cliente. A segunda linha dirige o controle winsock salva os dados para a variável. A terceira linha acrescenta os novos dados para qualquer texto existente na primeira caixa de texto
6
Abra o sub-rotina Command1_Click e digite o seguinte código: .
WinSock1.SendData Text2.Text
Esta linha simplesmente envia as informações a partir da segunda caixa de texto para o programa cliente .
programa cliente
7
Abra um novo projeto Visual Basic. Clique duas vezes no controle Winsock , controle CommandButton e controle TextBox para adicionar cada um deles para o formulário. Clique e arraste-os para organizá-los como você gostaria .
8
Clique duas vezes no formulário para abrir o sub-rotina Form_Load . Digite o seguinte código:
WinSock1.RemoteHost = hostIPWinSock1.RemotePort = portNumberWinSock1.Connect
Estas linhas enviar um pedido de conexão a um servidor usando o HostIP e valores portNumber . Substitua esta com variáveis que possuem esses valores ou com um valor de string para o HostIP e um inteiro para o portNumber . Por exemplo, use "127.0.0.1 " como o valor de acolhimento , que é o host local para que você possa testar o programa em seu computador local.
9
Abra o sub-rotina WinSock1_DataArrival e digite o seguinte código :
Dim strData como StringWinSock1.GetData strData , vbStringText1.Text = Text1.Text & strData
Esse código funciona exatamente o mesmo que a sub-rotina chegada dados para o controle winsock no servidor programa
10
Abra o sub-rotina Command1_Click e digite o seguinte código: .
Dim myarray (3) Como Stringmyarray (0) = "Este " myarray (1) = " , é " myarray (2) =" meu " myarray (3) = " array " For i = 0 To UBound ( myarray ) WinSock1.SendData myarray ( i) Next i
A . primeiras cinco linhas criar uma matriz com quatro itens de cordas e inicializa cada valor. As próximas três linhas executar um loop que enviar a cada item na matriz de cada vez através do controle winsock para o programa servidor . Você pode duplicar esse código no programa servidor para enviar as matrizes de lá para o programa cliente.