Trouble with socket server class using stdc...

BlitzMax Forums/BlitzMax Programming/Trouble with socket server class using stdc...

RexRhino(Posted 2005) [#1]
I am creating a TCP server class using the standard C library functions in BlitzMax (stdc.bmx). I seem to be having trouble creating a socket. The socket_ function for creating the listener socket seems to not be working. Here is the code:

Import BRL.Stream
Local server:JServer = New JServer
Local socket_list:TList = New TList
Local servercode server.CreateServer(7777)
Local TempSocket
Local listencounter:Int = 0

If servercode = 0 Then Print "There has been an error creating the listener socket"

While Not KeyDown(KEY_ESCAPE)
	listencounter = listencounter + 1
	TempSocket = server.listen()
	If TempSocket > 0
		Print "Got Connection"
		server.WriteSocket( TempSocket, "I like to eat Bagels!", 100)
		'server.close( TempSocket )
	endif
wend

Type JServer
	
	Field socket_connections:TList = New TList
	Field greeter_socket
	
	Method CreateServer(port:Short)
		greeter_socket = socket_( AF_INET_, SOCK_STREAM_, 0 )
		If greeter_socket < 0 Return
		
		bind_(greeter_socket, AF_INET_, port)
		listen_(greeter_socket, 5)
		
		Return true
	End Method
	
	Method Listen()
		Local address
		Local length
		Local temp_socket = accept_( greeter_socket, Varptr(address), length )
		Return temp_socket
	End method
	
	Method ReadSocket( in_socket, buf:Byte Ptr, count )
		Local n = recv_( in_socket, buf, count, 0 )
		If n > 0 Return n
	End Method

	Method WriteSocket( in_socket, buf:Byte Ptr, count )
		Local n = send_( in_socket, buf, count, 0 )
		If n > 0 Return n
		If n=0 _eof=1 Else _eof=-1
		Return 0
	End Method
	
	Method Close( in_socket )
		If in_socket closesocket_( in_socket )
		in_socket = 0
	End Method
	
End Type


Anyone familiar enough the the C socket libraries to provide any help?

Thanks!
RexRhino