UDP Problme

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Darkbyte

Betreff: UDP Problme

BeitragSo, Okt 14, 2007 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,
habe ein Problem mit UDP. Ich versuche jetzt schon seit 3 Stunden dieses zu lösen, komme aber nicht voran.
Ich habe vor, ein Anmelde Programm auf einen Server zu Programmieren. Der Server ist natürlich in BB geschrieben ^^. Und bei tritt folgendes Problem auf. Ich Melde mich dort an, mit der IP des Servers, und schicke den Namen. Der Server sollte eigentlich etwas zurückschicken, macht er aber nicht. Hoffe das ihr mir helfen könnt.

Edit: Mit einem Stream hab ichs auch schon Probiert, kommt das gleiche bei raus.

Server:
Code: [AUSKLAPPEN]

PortE = 5001
PortS = 5000


StreamS = CreateUDPStream(PortS)
StreamE = CreateUDPStream(PortE)



Type Anmeldung
   Field Name$
   Field IP
   Field Nachricht$
End Type



Repeat
   Text 0,0, "110"
   x=RecvUDPMsg(StreamE)
   If x<>0 Then
      
      Text 0,20, "220"
      DebugLog "Ich mach ne Anmeldung"
      Client.Anmeldung = New Anmeldung
      
      Client\Name$ = ReadString(StreamE)
      Client\IP = x
      Client\Nachricht$ = "Name ist frei"
      WriteString StreamS, Client\Nachricht$
      SendUDPMsg Streams, Client\IP, PortS
      
      Delete Client
      
   EndIf
   

   ;Text 0,80, Nachricht$
Until KeyHit(1)


CloseUDPStream Stream1
End


Client
Code: [AUSKLAPPEN]

PortE = 5000
PortS = 5001

StreamS = CreateUDPStream(PortS)
StreamE = CreateUDPStream(PortE)


IP$ = Input("IP: ")
Name$ = Input$("Name: ")


WriteString StreamS, Name$
SendUDPMsg StreamS, IP(IP$), PortS

Repeat
Text 0,70,"Wait to Answer"

If RecvUDPMsg(StreamE) Then
 Antwort$ = ReadString(StreamE)
EndIf

Text 0,80, Antwort$
Until KeyHit(1)

CloseUDPStream StreamE
CloseUDPStream StreamS
End





Function IP(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


Ich währe euch sehr dankbar wenn ihr mir helfen könnt.
 

Darkbyte

BeitragMo, Okt 15, 2007 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Weiß denn keiner eine Antwort?
 

Dreamora

BeitragMo, Okt 15, 2007 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Anwort wurde schon unzählige Male gegeben: UDP setzt korrekt eingestellte Router Portforwardings und Software Firewalls beim Server voraus. Sonst passiert garnichts weil der Server nie ne Nachricht erhalten wird.


Darüber hinaus hast du einen weiteren fatalen und elementaren Fehler drin nämlich ein grundlegendes Fehlverständnis, was RecvUDPMsg() zurück liefert.

Lies am besten unter http://www.blitzbase.de/menu/2w.htm Mal nach wo deine Fehler liegen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group