Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/05/2005, 03:21
ruben_sga
 
Fecha de Ingreso: septiembre-2004
Mensajes: 29
Antigüedad: 19 años, 7 meses
Puntos: 0
Te describo brevemente lo que hay que hacer en la parte que escucha y en la parte que envía, para realizar una fácil pero efectiva gestión de sockets:

Listener - Escucha:

Private _ListenerSocket As TcpListener
Private _ListenerThread As Thread

'_IPAddress: dirección IP del host que va a escuchar, _Port: Puerto de escucha
_ListenerSocket = New TcpListener(_IPAddress, _Port)
_ListenerThread = New Thread(AddressOf Escucha)

_ListenerSocket.Start() '.Stop para luego pararlo
_ListenerThread.Start() '.Stop para luego pararlo

El método de escucha (Escucha) deberá incluir básicamente:

Dim ASCII As Encoding = Encoding.ASCII
Dim RecvBytes() As [Byte]
Dim strAux As String

do While true

Dim InputSocket As Socket = _ListenerSocket.AcceptSocket
InputSocket.Receive(RecvBytes)

'De esta forma podrás transformar el paquete de datos recibido a un dato tipo String y a partir de aquí hacer lo que quieras
strAux = ASCII.GetString(RecvBytes)

loop


Send:

ipad = Dns.Resolve(_Host).AddressList(0)
Dim ipe As New IPEndPoint(ipad, _Port)
Dim mySocket As New Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp)

mySocket.Connect(ipe)
If mySocket.Connected Then
mySocket.Send(Codificacion.GetBytes(StatData.ToCha rArray()))
mySocket.Close()

End If