You are on page 1of 7

Network

La biblioteca de red incluye dos objetos para trabajar con TCP: Socket, ServerSocket. Con Socket usted
Puede comunicarse con otros dispositivos y computadoras a través de TCP / IP.

ServerSocket le permite escuchar las conexiones entrantes. Una vez establecida la conexión, se obtendrá
un objeto Socket que se utilizará para manejar esta conexión específica. Ver el tutorial de la Network

También incluye dos objetos para trabajar con UDP: UDPSocket y UDPPacket. Ver UDPSocket para más
información.

List of types:
ServerSocket
Socket
UDPPacket
UDPSocket

ServerSocket

El objeto ServerSocket permite que otras máquinas se conecten a esta máquina. El ServerSocket escucha
un puerto específico. Una vez que llega una conexión, el evento NewConnection es Levantado con un
objeto Socket.

Este objeto Socket se debe utilizar para comunicarse con este cliente. Puede volver a llamar Escuchar y
recibir más conexiones. Un solo ServerSocket puede manejar muchas conexiones.

Para cada conexión debe haber un objeto Socket.

Permisos:

android.permission.INTERNET
android.permission.ACCESS_W IFI_STATE
android.permission.ACCESS_NETWORK_S TATE

Eventos:
NewConnection (Successful As Boolean, NewSocket As Socket)

Miembros:

Close
GetMyIP As String
GetMyWifiIP As String
Initialize (Port As Int, EventName As String)
IsInitialized As Boolean
Listen

Descripción de los Miembros :

Close
Cierra el ServerSocket. Esto no cerrará ningún otro zócalo. Debería llamar Inicializar si desea usar este
objeto nuevamente.
GetMyIP As String

Devuelve la IP del servidor. Volverá "127.0.0.1" (localhost) si no se encuentra ninguna otra IP.
Este método devolverá la IP de la red wifi si está disponible.

GetMyWifiIP As String

Devuelve la dirección IP de la red wifi. Devuelve "127.0.0.1" (localhost) si no está conectado.

Initialize (Port As Int, EventName As String)

Inicializa el ServerSocket.
Port: el puerto que el servidor escuchará. Tenga en cuenta que debe llamar a Listen para comenzar
a escuchar. Los puertos inferiores a 1024 están restringidos por el sistema.
EventName - El nombre del prefijo del evento.

IsInitialized As Boolean

Comprueba si el objeto está inicializado.

Listen

Cuando se establece una conexión, se genera el evento NewConnection. Si la conexión es exitosa


un objeto Socket se pasará en el evento.
Llamar a Listen mientras el ServerSocket está escuchando no hará nada.

Socket

El objeto Socket es un punto final para la comunicación de red.(Trabajar como Cliente.)

Si se está conectando a un servidor, debe inicializar un objeto Socket y llamar Connect con la
dirección del servidor.
El evento Connected se generará cuando la conexión esté lista o si la conexión ha fallado.

Los sockets también son utilizados por el servidor. Una vez establecida una nueva conexión
entrante, el evento NewConnection se generará y un objeto Socket inicializado se pasará como
parámetro.

Una vez que se conecta un zócalo, debe usar su InputStream y OutputStream para comunicarse
con la otra máquina.

Permisos:

android.permission.INTERNET

Eventos:

Connected (Successful As Boolean)


Miembros:

Close
Connect (Host As String, Port As Int, TimeOut As Int)
Connected As Boolean [read only]
Initialize (EventName As String)
InitializeSSL (EventName As String, KeyStoreStream As java.io.InputStream, Password As
String)
InitializeSSLAcceptAll (EventName As String)
InputStream As java.io.InputStream [read only]
IsInitialized As Boolean
OutputStream As java.io.OutputStream [read only]
ResolveHost (Host As String) As String
TimeOut As Int

Descripción de los Miembros :

Close

Cierra el the socket y los streams. Es seguro llamar a este método varias veces.

Connect (Host As String, Port As Int, TimeOut As Int)

Intenta conectarse a la dirección indicada. La conexión se realiza en el background.


El evento Connected se generará cuando la conexión esté lista o si ha fallado.

Host - el nombre de host o IP.

Port - Número de puerto.

TimeOut - Tiempo de espera de conexión. El valor se especifica en milisegundos. Pase 0 para


deshabilitar el tiempo de espera.

Connected As Boolean [read only]

Comprueba si el zócalo está conectado.

Initialize (EventName As String)

Inicializa un nuevo socket.

InitializeSSL (EventName As String, KeyStoreStream As java.io.InputStream, Password As


String)

Inicializa un nuevo socket SSL.

EventName : establece el sub que controlará el evento Connected.


KeystoreStream : un InputStream que apunta a un almacén de claves alternativo. Pase Null para
usar el predeterminado almacén de claves. El formato del almacén de claves debe ser BKS.

Password - Contraseña de almacén de claves personalizada.

InitializeSSLAcceptAll (EventName As String)

Inicializa un nuevo socket SSL que acepta todos los certificados automáticamente.
Este método es menos seguro, ya que el certificado no esta probado.

InputStream As java.io.InputStream [read only]

Devuelve el InputStream del socket que se usa para leer datos.

IsInitialized As Boolean

Comprueba si el objeto fue inicializado.

OutputStream As java.io.OutputStream [read only]

Devuelve el OutputStream del socket que se usa para escribir datos.

ResolveHost (Host As String) As String

Resuelve el nombre de host y devuelve la dirección IP.


Este método está en desuso y no funcionará correctamente en dispositivos con Android 4+.

TimeOut As Int

Obtiene o establece el tiempo de espera de InputStream del socket. El valor se especifica en


milisegundos. Por defecto no hay tiempo de espera.

UDPPacket

Un paquete de datos que está siendo enviado o recibido.


Para enviar un paquete, llame a uno de los métodos de Inicialización y luego envíe el paquete
pasándolo a UDPSocket.Send.

Cuando llega un paquete, puede obtener los datos del paquete de las propiedades disponibles.

Eventos:

None

Miembros:

Data() As Byte [read only]


Host As String [read only]
HostAddress As String [read only]
Initialize (Data() As Byte, Host As String, Port As Int)
Initialize2 (Data() As Byte, Offset As Int, Length As Int, Host As String, Port As Int)
IsInitialized As Boolean
Length As Int [read only]
Offset As Int [read only]
Port As Int [read only]
toString As String

Descripción de los Miembros :

Data() As Byte [read only]

Obtiene la matriz de datos recibida.

Host As String [read only]

Este método está en desuso y no funcionará correctamente en el dispositivo Android 4+.

Utilice HostAddress en su lugar.

HostAddress As String [read only]

Obtiene la dirección IP de la máquina de envío.

Initialize (Data() As Byte, Host As String, Port As Int)

Inicializa el paquete y lo prepara para enviar.

Data - Los datos que serán enviados.


Host: el nombre de host o la dirección IP de destino.
Port: el puerto de destino.

Initialize2 (Data() As Byte, Offset As Int, Length As Int, Host As String, Port As Int)

Similar a Initialize. Los datos enviados se basan en los valores de Desplazamiento y Longitud.

IsInitialized As Boolean

Length As Int [read only]

Obtiene la longitud de los bytes disponibles en los datos. Esto puede ser más corto que la longitud
de la matriz.

Offset As Int [read only]

Obtiene el desplazamiento en la matriz de datos donde comienzan los datos disponibles.

Port As Int [read only]

Obtiene el puerto de la máquina remitente.


toString As String

UDPSocket

UDPSocket soporta el envío y recepción de paquetes UDP. El envío de paquetes se realiza


llamando al método Send.

Cuando llega un paquete, el evento PacketArrived se genera con el paquete.

Este ejemplo envía un mensaje de cadena a otra máquina. Cuando llega un paquete lo convierte a
cadena y lo muestra:

Sub process_globals
Dim UDPSocket1 As UDPSocket
End Sub

Sub Globals

End Sub

Sub Activity_Create(FirstTime As Boolean)

If FirstTime Then
UDPSocket1.Initi alize("UDP", 0, 8000)
End If

Dim Packet As UDPPacket


Dim data() As Byte

data = "Hello from Android".GetBytes("UTF8")


Packet.Initialize(data, "10.0.0.1", 5000)

UDPSocket1.Send(Packet)

End Sub

Sub UDP_ PacketArrived (Packet As UDPPacket)

Dim msg As String


msg = BytesToStrin g(Packet.Data, Packet.Offset, Packet.Length, "UTF8")
Msgbox("Message received: " & msg, "")

End Sub

Permisos:

android.permission.INTERNET
Eventos:

PacketArrived (Packet As UDPPacket)

Members:

Close
Initialize (EventName As String, Port As Int, ReceiveBufferSize As Int)
IsInitialized As Boolean
Port As Int [read only]
Send (Packet As UDPPacket)
toString As String

Descripción de Miembros :

Close

Cierra el socket.

Initialize (EventName As String, Port As Int, ReceiveBufferSize As Int)

Inicializa el socket y comienza a escuchar los paquetes.

EventName: el nombre del Sub que manejará los eventos.


Port - Puerto local para escuchar. Si pasa 0, el sistema operativo elegirá un puerto disponible
automáticamente.
ReceiveBufferSize: el tamaño del paquete de recepción. Los paquetes más grandes que este valor
serán truncados.
Pase 0 si no desea recibir ningún paquete.

IsInitialized As Boolean

Comprueba si este objeto está inicializado.

Port As Int [read only]

Obtiene el puerto local que escucha este socket.

Send (Packet As UDPPacket)

Envía un paquete. El paquete se enviará en segundo plano (de forma asíncrona).

toString As String

You might also like