StartNetGame works very nice, depending on how much speed you need. As I understood, there is TCP and UDP.
StartNetGame etc. = DirectPlay = TCP
BlitzPlay = UDP
(AFAIK:) TCP is some sort of wrapper around UDP. TCP checks if messages arrive, UDP don't. The advantage of using UDP is that you can send smaller packages and you can choose whether you check it or not.
Some good examples I found on the German BB sites, bitzbase. A quick search:
http://www.blitzbase.de/befehle2d/joinnetgame.htmA google search for "joinnetgame" gives also some good links.
EDIT:
;-----------------------------------------------------------------------------------
; DirectPlay example
;-----------------------------------------------------------------------------------
;run this example twice, once as a server and once as a client.
Graphics 800, 600, 0, 3
SetBuffer BackBuffer()
;start network game
Select StartNetGame()
Case 0
End
Case 1
Print "Joined!"
Case 2
Print "Server!"
End Select
;create player
player = CreateNetPlayer("Bram")
x = Rand(400) + 200
y = Rand(300) + 150
;main loop
While Not KeyHit(1)
Cls
;cursor keys to move around
If KeyDown(203) Then x = x - 10
If KeyDown(205) Then x = x + 10
If KeyDown(200) Then y = y - 10
If KeyDown(208) Then y = y + 10
;send message
io = MilliSecs() / 50
If io > ioi Then
SendNetMsg 1, y + x * 800, player, 0, 1
ioi = io
End If
;incoming messages
If RecvNetMsg() Then
msgType = NetMsgType()
msgFrom = NetMsgFrom()
msgData = NetMsgData$()
a# = msgData / 800
b# = msgData Mod 800
End If
;draw player
Color 255, 255, 0
Oval x, y, 20, 20, True
;draw player
Color 255, 0, 0
Oval a, b, 20, 20, True
Flip
Wend
End