UDP & Recieve messages
BlitzMax Forums/BlitzMax Programming/UDP & Recieve messages
| ||
| Hello, I've got this flightsim [x-plane] which can communicate with external programs using UDP. I would like to create an udp-connection in Blitzmax and recieve some sim-parameters but I'm just not able to get it working. It can't be that difficult i guess. I've got another basic-programming-language which accomplished this quite easily. I've got x-plane set up to send data to '127.0.0.1' port:8080. Is there anybody who can show me a simple example how to retrieve this udp data? BTW I tried to use Bnetex but it seems it doesn't work on my Intel Mac.. Ghislain |
| ||
| O well, I've got something working.
Strict
Local socket:TSocket = CreateUDPSocket()
If socket = Null Then RuntimeError "Couldn't create UDP socket"
' Listen to the port!
BindSocket(socket, 8080)
' This isn't required..
' ConnectSocket(socket, HostIp("127.0.0.1"), 8080)
' This seems to be always true..
' If SocketConnected(socket) Then Print "Socket connected."
' Returns 0.0.0.0 : 0
' Print DottedIP(SocketRemoteIP(socket)) + " : " + SocketRemotePort(socket)
Local counter:Int = 0
Local l:Int = 0
While Not KeyDown(key_escape)
l = SocketReadAvail(socket)
If l
counter = counter + 1
Print "Avail: " + l + " bytes."
Print "Data: " + sRead(socket)
End If
If counter > 10 Then Exit
Wend
CloseSocket(socket)
End
' ---------------------------------
' This is borrowed from 'Yan'..
Function sRead:String (socket:TSocket)
Local buf:Byte[1024]
Local receivedLen = socket.Recv(buf, 1024)
Return String.FromBytes(buf, receivedLen)
End Function
I borrowed some code from another posting: BlitzMax Forums/BlitzMax Programming/UDP example Ghislain |