VB Winsock es el código fuente del programa de chat más simple;
Este es un ejemplo que estudié antes. ¡Espero que esto ayude! ! !
Utilice VB para implementar ejemplos de programación cliente-servidor (TCP/IP)
-
La mayoría de los lenguajes ahora admiten la programación en modo cliente-servidor, entre los que se encuentran VB Nos proporciona un buen método de programación cliente-servidor. A continuación usamos VB para implementar la programación de red TCP/IP.
El protocolo TCP/IP es el protocolo más importante de Internet. VB proporciona control WinSock para la comunicación de red basada en TCP/IP. Cuando dos aplicaciones utilizan Sockets para la comunicación de red, una de ellas debe crear un servidor Socket para escuchar y la otra debe crear un cliente Socket para conectarse al servidor. De esta forma, los dos programas pueden comunicarse.
1. Para crear un servidor, primero cree un número de puerto de servicio. Y comience a escuchar las solicitudes de los clientes para conectarse.
Cree un formulario y agréguele un control Winsock (puede agregar este control en el elemento Componentes del menú Proyecto)
Agregue dos cuadros de texto Texto1, Texto2 y un Botón Command1
Private Sub Form_Load()
SockServer.LocalPort = 2000 ′Número de puerto del servidor, preferiblemente mayor que 1000
SockServer.Listen ′Empezar a escuchar
End Sub
Private Sub Form_Unload(Cancelar como entero)
SockServer.Close
End Sub
Private Sub SockServer_Close ()
SockServer.Close
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServer.Close
SockServer.Accept requestID ′ Indica el número de ID del cliente que solicita una conexión
End Sub
′ Cuando llegan los datos enviados por el cliente al servidor se envía un DataArrival Se genera el evento. En el evento Recibir datos en el método GetData.
Private Sub SockServer_Data
Llegada(ByVal bytesTotal As Long)
Dim s As String
SockServer.GetData s
Text1.Text = s
End Sub
Cuando necesito enviar datos al cliente, simplemente llamo al método SendData.
Private Sub Command1_Click()
SockServer .SendData Text2.Text
text1.text = text2.text
text2.text = ""
Fin del subtítulo
2. Crea un cliente.
Para crear una conexión de cliente a un servidor, primero configure el nombre de host del servidor, como la dirección IP, el nombre de dominio o el nombre de la computadora, luego configure el puerto del servidor y finalmente conéctese al servidor.
Cree un formulario y agréguele un control Winsock (puede agregar este control en el elemento Componentes del menú Proyecto) y asígnele el nombre: SockC1. Agregue dos cuadros de texto Texto1, Texto2 y un botón Comando1
Private Sub Form_Load()
dim my as string
my = SockCl.RemoteHostIP
SockCl.RemoteHost = my
′ representa el nombre del host del servidor
SockCl.RemotePort = 2000
′ representa el nombre del puerto del servidor
SockCl.Connect
′Conectar al servidor
End Sub
Private Sub Form_Unload(Cancelar como entero)
SockCl.Close
End Sub
Private Sub SockCl_Close()
SockCl.Close
End Sub
Private Sub SockCl_DataArrival (ByVal bytesTotal As Long)
Dim s As String
SockCl.GetData s ′Recibir datos en el cuadro de texto
Text1.Text = s
End Sub
Private Sub Command1_Click()
SockCl.SendData Text2.Text ′Enviar datos al servidor
text1.text = text2.text
text2.text = ""
Fin Sub
3. comunicar. Compile estos dos formularios en dos archivos EXE, programas Server.exe y Client.exe respectivamente, e instálelos en el servidor y el cliente respectivamente, para que se pueda lograr la comunicación entre los dos.
----------------------------------------El código compilado es el siguiente-- --------------------------
Private Sub Form_Load()
Atenuar mi cadena As
my = SockCl.RemoteHostIP
SockCl.RemoteHost = my
SockCl.RemotePort = 2000
SockCl.Connect p>
End Sub
Private Sub Form_Unload(Cancelar como entero)
SockCl.Close
End Sub
Private Sub SockCl_Close()
SockCl.Close
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockCl.GetData s
Text1.Text = s
End Sub
Private Sub Command1_Click()
SockCl.SendData Texto2.Text
Texto1.Text = Texto2.Text
Texto2.Text = ""
Fin Sub
Private Sub Form_Load()
SockServer.LocalPort = 2000
SockServer.Listen
End Sub
Private Sub Form_Unload(Cancelar como Entero)
SockServer.Close
End Sub
Private Sub SockServer_Close()
SockServer.Close
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServer.Close
SockServer.Accept requestID
End Sub p>
Private Sub Command1_Click()
SockServer.SendData Text2.Text
Text1.Text = Text2.Text
Text2.Text = "" p>
Fin del subtítulo
Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockServer.GetData s
Text1.Text = s
Fin Sub