All pastes #471457 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-04 22:16 UTC
rendered paste body
Graphics 500,250,32,2
;######################################################
Global MainStream = CreateUDPStream(15001)
;######################################################
SetFont LoadFont("Lucida Console", 14, 1)
Color 200,200,200
;######################################################
Global Eingegeben$
;######################################################
Global Username$ = Input$("Please enter UID:")
Print "Willkommen, "+Username$
;######################################################
Function confip(IP$)
	a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
	a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
	a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
	a4=Int(IP$)
	Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4
End Function
;######################################################
Function Recognize(befehl$)
	Waitfor = MilliSecs()+3005
	If(Left(befehl$, 4) = "ping") Then
		pingip$ = Mid(befehl$, 6, 100)
		ip = confip(pingip$)
		Pingstream=CreateUDPStream(15003)
		WriteString(Pingstream, "ping "+Username$) 
		SendUDPMsg(Pingstream, ip, 15001)
		Print "Ping wird ausgeführt auf "+pingip$+" ("+ip+")."
		Repeat
			Message=RecvUDPMsg(Pingstream)
			If Message <> 0 Then
				antwort$ = ReadString(Pingstream)
				If antwort$ <> "" Then
					Success = 1 
				End If
			End If
			Delay 1000
			If Success = 0 Then
				Print "Warte auf Antwort..."
			Else
				Print "Antwort von "+pingip$+" " + "("+antwort$+") erhalten."
			End If
		Until Waitfor < MilliSecs()
		If Success = 0 Then
			Print "Host exisitiert nicht."
		End If
		CloseUDPStream(Pingstream)
	End If
	If(Left(befehl$, 6) = "listen") Then	
		Print "Now Listening. Press ESC if you don't want to listen anymore."
		Repeat
			Listen()
		Until KeyHit(1)
	End If
End Function
;######################################################
Function Listen()
	Message=RecvUDPMsg(Mainstream)
	If Message <> 0 Then
		sendung$ = ReadString(Mainstream)
		If(Left(befehl$, 4) = "ping") Then
			from$ = Mid(befehl$, 6, 100)
			Print "Du wurdest von "+from$+" gepingt! ("+DottedIP$(Message)+")" 
			WriteString(Mainstream, Username$)
			SendUDPMsg(Mainstream, Message) 
		End If
	End If
End Function


;######################################################
Repeat
	Befehl$ = Input("["+Username$+"@localhost]:")
	If Befehl$ <> "" Then
		Recognize(befehl$)
	End If
Forever