bNetEx mag keine Nachricht senden - Beginnerlatein am Ende

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Sereiya

Betreff: bNetEx mag keine Nachricht senden - Beginnerlatein am Ende

BeitragFr, März 26, 2010 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey,

Habe gerade ein kleines Problem mit einem Programm wo ich dransitze, und ich weiß partou nicht mehr woran das liegen könnte. Ich habe wie es bissher immer funktionierte eine Verbindung aufgebaut - die scheint auch soweit zu laufen (Zumindest erreicht das Programm nen Debugstop hinter xxx.Accept() bzw. xxx.connect() - was in meinem Falle ohne Verbindung nicht gehen sollte), allerdings weigert sich der Client, eine Nachricht zu senden (oder der Server, diese zu bemerken). Da ich in der entsprechenden Funktion weder beim Server, noch beim Client einen Fehler entdecken kann...hilfe ^^

Server:
Code: [AUSKLAPPEN]

Function User_loggon()
   Local temp:String
   Local temp2:Int = 0
   Local time:Int = 100
   
   
   If Newconnection.Accept() <> Null
      Repeat
         If time = 0 Then Return
         Delay(10)
         time = time - 1
      Until Newconnection.RecvAvail() <> 0
      
      DebugStop
      Newconnection.RecvMsg()
      temp = Newconnection.ReadLine()
      Print temp + " versucht sich auf dem Server anzumelden."
      Repeat
         If time = 0 Then Return
         If temp = User[temp2].Nickname
            Newconnection.WriteLine("1")
            Newconnection.Sendmsg
            User[temp2].User_loggin()
            Return
         End If
         temp2 = temp2 + 1
         time = time - 1
      Until temp2 > Playercount
      Newconnection.WriteLine("0")
      Newconnection.Sendmsg
      Print "Es ist kein Mitglied Namens " + temp + " bekannt. Zugriff verweigert."
      Newconnection = Null
      Return
      
   End If
End Function

(User[temp2].User_loggin() führt zu einer Methode, die noch 9 weitere Streams aufbaut, was in einem anderen Programm bereits funktionierte. Bis dahin kommt er allerdings nicht mehr, er bleibt direkt in der ersten Repeat Schleife stecken)


Client:
Code: [AUSKLAPPEN]
   Method connect:Int(Name:String, PW:String)
      Local i:Int
      Local temp:Int
      Local connect:Int = 0
      Local temp3:String
      Local time:Int = 100
      
      While connect = 0
         Delay(10)
         time = time - 1
         Repeat
            Delay(10)
            time = time - 1
            If time = 0 Then Return 0
            temp = Self.connection.connect()
         Until temp <> 0
         Self.connection.WriteLine(Name:String)
         Self.connection.Sendmsg()
         
         While connect = 0
            Delay(10)
            If Self.connection.RecvAvail() <> 0
               Self.connection.RecvMsg()
               temp3 = Self.connection.ReadLine()
               Print "test"
               Select temp3
                  Case 1
                     connect = 1
                  Case 0
                     Return 2
               End Select
               
            End If
            Print "test2"


            time = time - 1
            If time = 0 Then Return 0
         Wend
      Wend
'[...]
      

(hinter [...] ist bloß der immer wiederkehrende Code für die 9 Streams (was wie gesagt woanders schon funktioniert hat), bis wohin er aber auch hier gar nicht kommt. Er printet ettliche male "test2", bis time bei Null ist und er aus der Methode gekickt wird)



Hoffe ihr könnt mir da helfen, sitze seit Tagen an diesem Verbindungsproblem (und fand bereits 3 andere Fehler ^^), und mir wills nicht einleuchten was da falsch ist.

lg
Andrea





Edit:
hat sich gerade erledigt, war ein eigenartiger Fehler mit Accept() gewesen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group