Cómo implementar la comunicación entre dos hosts
Utilice el control de Winsock para VB. Hay demasiados ejemplos en Internet. También puede leer libros.
Uso de Winsock para implementar la comunicación punto a punto.
El autor es desconocido
El control Winsock es una nueva característica de VB5.0. Resuelve el problema de no poder lograr comunicación punto a punto entre aplicaciones en la red cuando se usa la programación VB en el. pasado. Los protocolos TCP y UDP utilizados por Winsock permiten establecer y mantener una conexión a una computadora remota y el intercambio de datos en tiempo real antes de que finalice la conexión. Los usuarios pueden conectarse fácilmente a una computadora remota simplemente configurando propiedades y usando el manejo de eventos, y el intercambio de datos se puede lograr con solo dos comandos.
Al utilizar el protocolo TCP, si necesita crear una aplicación cliente, debe identificar el nombre o dirección IP del servidor.
El puerto de comunicación de la aplicación monitoreará cuidadosamente los mensajes enviados por la otra parte en cualquier momento. Esto es una garantía de conexión confiable del sistema. Una vez que se produce la conexión, cualquiera de las partes puede enviar y recibir datos a través de SendData y separar sus propios datos a través de GetData. Al transmitir datos, primero debe configurar el atributo LocalPort del cliente. El servidor solo necesita configurar el atributo RemoteHost en la dirección Ethernet del cliente y configurar la misma dirección de puerto que el atributo LocalPort del cliente. Utilice el método SendData para comenzar a enviar mensajes. . El cliente separa la información enviada a través del evento DataArrival en el evento GetData.
Un control Winsock permite que una computadora local se conecte a una computadora remota usando los protocolos UDP o TCP. Ambos protocolos pueden crear aplicaciones de cliente y servidor.
Cuando se utiliza el control Winsock, ambas partes de la comunicación deben seleccionar el mismo protocolo. El protocolo TCP es adecuado para transmitir archivos de datos de gran capacidad que requieren garantías de seguridad, mientras que el protocolo UDP es adecuado para situaciones en las que es necesario comunicarse con muchos subordinados por separado, o cuando hay muchas conexiones establecidas y variables en el tiempo, especialmente cuando el cantidad de datos es pequeña. Puede utilizar el método Winsock1.Protocol =
sckTCPProtocol al configurar. Primero, busque el nombre de su computadora y agréguelo a la propiedad LocalHost de Winsock.
Al crear una aplicación, primero debe determinar si está creando una aplicación cliente o un servicio de servidor. Solo cuando la aplicación del servidor establecida comienza a funcionar y entra en estado de escucha, la aplicación cliente comienza a establecer una. conexión e ingrese al estado de comunicación normal. El autor creó una aplicación cuya función es que cuando el mouse del cliente se mueve, la aplicación del servidor pueda mostrar la posición del mouse en tiempo real.
A continuación se explica cómo crear una aplicación de servidor:
1. Cree un nuevo archivo EXE estándar
2. Agregue un control Winsock; el siguiente código:
Carga de formulario secundario privado()
tcpServer.LocalPort = 1001
tcpServer.Localhost = 〃servser〃
tcpServer.remotePort = 1002
tcpServer.Localhost = 〃klint〃
tcpServer.Listen
End Sub
′Comprobación de conexión
p>
Solicitud de conexión subtcpServer privada
(ByVal requestID As Long)
Si tcpServer.State lt;gt;sckClosed Entonces
tcpServer.Close
tcpServer.Accept requestID
End Sub
′Enviar datos
Private Sub frmserver monsemove(x, y)
tcpServer.SendData 〃x〃amp; str(x)
tcpServer.SendData 〃y〃amp;
End Sub
Build una aplicación de cliente El método es:
1. Crear un nuevo archivo EXE estándar
2. Agregar un control Winsock
3. — — txt x y txt y
4. Agregue el siguiente código:
Carga de formulario secundario privado()
tcpServer.LocalPort = 1002
tcpServer.Localhost = 〃klint〃
tcpServer.remotePort = 1001
tcpServer.Localhost = 〃servser〃
tcpServer.Listen
End Sub
′Verificación de conexión
Sub privada tcpklint ConnectionRequest
(ByVal requestID As Long)
Si tcpklint. Estado lt ;gt; sckClosed Luego
tcpklint.Close
tcpklint.Accept requestID
End Sub
Sub privado tcpClient DataArrival p>
(ByVal bytesTotal As Long)
Dim strData As String
tcpklint.GetData strData
if left(strData, 1)=〃X 〃entonces
txt x.Text = strDa
ta
else
txt y.Text = strData
endif
End Sub
La rutina anterior es implementado Es una comunicación punto a punto muy simple. Con una ligera modificación sobre esta base, se puede formar una red informática en tiempo real funcionalmente compleja A-Un sistema de comunicación interactivo para control, simulación de gráficos, etc.
El método para establecer una comunicación entre pares utilizando el protocolo UDP es ligeramente diferente de establecer una comunicación cliente/servidor a través de TCP. No requiere establecer un cliente y un servidor, sino que establece una comunicación entre pares. comunicación. Este proceso se logra mediante los siguientes pasos:
1. Establezca la propiedad RemoteHost de Winsock en un nombre de computadora comunicante
2. >
3. Llame al evento Bind de Winsock para vincular el número de interfaz local. El método de configuración específico es:
Carga de formulario secundario privado()
Con Winsock1
.RemoteHost= 〃PeerB〃
.RemotePort = 1001 ′Número de conexión remota
.Bind 1002
′Número local vinculado
Finalizar con
End Sub
El resto del programa es similar al método TCP, es decir, enviar o recuperar datos a través de los métodos SendData y GetData. Los protocolos UDP y TCP tienen sus propias características en uso. Si se usan de manera flexible, se pueden obtener buenos resultados. Afortunadamente, Winsock en VB5.0 nos proporciona un método de transmisión de datos simple, lo que nos permite lograr fácilmente una comunicación de red punto a punto.