***EDIT***
These programs work now.
to test on a single PC
1. save server.bmx and client.bmx
2. open 2 seperate instances of BMAX
3. run server first, the run client
4. type into client and hit enter...
or... run server on a Linux box and client on a MAC
I'll build on this when i get more time
SERVER
CLIENT
These programs work now.
to test on a single PC
1. save server.bmx and client.bmx
2. open 2 seperate instances of BMAX
3. run server first, the run client
4. type into client and hit enter...
or... run server on a Linux box and client on a MAC
I'll build on this when i get more time
SERVER
'Server Graphics 320,240,0 Local My_server:TSocket=CreateTCPSocket() BindSocket My_server,12345 SocketListen My_server Repeat Local client:TSocket=SocketAccept( My_server ) If client stream:Tsocketstream = CreateSocketStream(client) Print DottedIP(SocketRemoteIP(client))+" is Connected" Repeat foo$ = ReadLine$(stream) DrawText foo$,0,0 Flip ; Cls Until KeyHit(KEY_ESCAPE) EndIf Flip ; Cls Until KeyHit(KEY_ESCAPE)
CLIENT
'Const LOCALHOST = 2130706433 Graphics 320,240,0 Global LHOST = Dotted_to_integer("127.0.0.1") Local client:TSocket=CreateTCPSocket() ConnectSocket client,LHOST,12345 If client stream:Tsocketstream = CreateSocketStream(client) ' WriteLine(stream,"Hello World") Else Print "cant connect to server" EndIf Local sendstring$ = ">" Repeat keytimer:-1 If keytimer < 0 stroke = GetChar() Select stroke Case 0 ' do nothing Case KEY_BACKSPACE sendstring$ = sendstring$[0..Len(sendstring)-1] Case KEY_RETURN WriteLine(stream,sendstring$) sendstring$ = ">" 'sendstring$:+"[R]" Default sendstring$:+Chr(stroke) End Select keytimer = 10 EndIf DrawText sendstring$,0,0 Flip ; Cls Until KeyHit(KEY_ESCAPE) Function Dotted_to_integer(Dotted_ip$) Dotted_ip$:+"." Local octet:String[4] For i = 0 To 3 dot = Dotted_ip$.find(".") ; octet[i] = Dotted_ip$[0..dot] Dotted_ip$ = Dotted_ip$[dot+1..] Next Return (octet[0].toint() Shl 24) + (octet[1].toint() Shl 16) + (octet[2].toint() Shl 8) + octet[3].toint() End Function