TSocketStream

BlitzMax Forums/BlitzMax Programming/TSocketStream

The later the night....

...anyway - now it seems to work, needed a simple timeout ;)


Local Server_Host:String = "irc.blitzed.org"
Local Server_IP:Int = HostIp(Server_Host)
Local Server_Port:Int = 6667

Const timeout:Int = 200

If Server_IP = 0
	Print "Could not resolve Servername!"
	End
EndIf

Local Server_Socket:TSocket = CreateTCPSocket()

If ConnectSocket( Server_Socket, Server_IP, Server_Port) = False 

	RuntimeError "No Connection!"

EndIf

Local Server_SocketStream:TSocketStream = CreateSocketStream(Server_Socket, True)
Local Server_Stream:TStream = OpenStream(Server_SocketStream)


If Server_Stream

	Print "Connected succesfully!"

	Local data:String

	
	data = "USER TestUser MaxIRC "+Server_Host+" :MaxTest"
	WriteLine(Server_Stream, data)	
	
	data = "NICK TestUser"
	WriteLine(Server_Stream, data)


	Local end_time:Int = MilliSecs() + timeout
	
	While end_time > MilliSecs()

		While SocketReadAvail(Server_Socket)>0
				'Print "Size: "+ StreamSize(Server_Stream)
				'Print "Pos : "+ StreamPos(Server_Stream)
	
		        data = ReadString(Server_Stream, SocketReadAvail(Server_Socket))
	
		        If(data<>"") 
		                Print data 
		        EndIf 
		Wend 

	Wend
	
	CloseStream(Server_Stream) 
	CloseStream(Server_SocketStream) 
	CloseSocket(Server_Socket)

Else

	Print "STFU!"
	
	
EndIf