'SOCKET code -------------------------------------------------------
Private Sub SendPacket
SetState(False)
If astream.IsInitialized Then
astream.Close
End If
If socket.IsInitialized Then
socket.close
End If
socket.Initialize("socket")
socket.Connect(destIPaddress,destPort,500)
Wait for Socket_Connected(Successful As Boolean)
If Successful Then
SetState(True)
astream.Initialize(socket.InputStream, socket.OutputStream, "Astream") 'does not use prefix mode
Log("Connected > "&destIPaddress)
Dim txPacket() As Byte= < packet data to send >
astream.Write(txPacket)
End If
End Sub
Private Sub Astream_NewData (Buffer() As Byte)
rxPacket=bc.HexFromBytes(Buffer) 'convert byte data to Hex string so can display
Log("Bytes in RX buffer="&Buffer.Length)
Log("rxPacket as Hex string="&rxPacket)
'extract the data bytes from the Hex string
DecodeHexString
End Sub
Private Sub Astream_Terminated
Log("Remote socket failure")
SetState(False)
End Sub
Private Sub Astream_Error
Astream_Terminated
End Sub
'SOCKET code end -------------------------------------------------------
'SERVER code -------------------------------------------------------
Private Sub ListenForConnections
server.Initialize(serverPort, "server")
Do While True
server.Listen
Wait For server_NewConnection (Successful As Boolean, NewSocket As Socket)
Log("New connection")
If Successful Then
If astream.IsInitialized Then
astream.Close
End If
astream.InitializePrefix(NewSocket.InputStream, True, NewSocket.OutputStream, "serstream") 'using prefix mode
Log("Client connected")
End If
Loop
End Sub
Private Sub serstream_NewData (Buffer() As Byte)
Dim rxData As String
rxData=BytesToString(Buffer, 0, Buffer.Length, "UTF8") 'convert buffer bytes to string
Log("RX New data request: "&rxData)
If rxData="REQLIST" Then
list1.Clear
'build the List1 data depending on the request
Log("Size (rows) of List object to send: "&list1.Size)
Dim txBytes() As Byte
txBytes=ser.ConvertObjectToBytes(list1)
astream.Write(txBytes)
Else
Log("Unknown request")
End If
End Sub
Private Sub serstream_Terminated
Log("Lost connection with client")
End Sub
Private Sub serstream_Error
serstream_Terminated
End Sub
'SERVER code end -------------------------------------------------------