Exemple #1
0
 def jsonReceived(self,  jsonObj):
     self.logMsg("odebralem obiekt json")
     msgType = jsonObj['TYPE']
     
     if msgType == "HII" and ( self.state == WAIT_FOR_HII_OR_P2P or self.state == WAIT_FOR_HII):
         appVar.coreInstance.handleHiiMessage(jsonObj,  self)
         self.state = WAIT_FOR_MTX
     elif msgType == "P2P" and self.state == WAIT_FOR_HII_OR_P2P:
         # otrzymalismy P2P wiec przedstawiamy sie i oczekujemy na LOG
         msgToSend = MessageParser.getFullHiiMsg()
         self.logMsg("wysyłam wiadomosc i czekam na log msg : '%s'" % msgToSend)
         self.sendPacket(msgToSend)
         self.state = WAIT_FOR_LOG
     elif msgType == "LOG" :#TODO: mozliwy  forward wiadomosci!!!
         if appVar.coreInstance.handleLogMessage(jsonObj,  self):
             self.state = CONNECTED
         else:
             self.logMsg("odrzucono logowanie - przerywam polaczenie")
             self.transport.loseConnection()
     elif msgType == 'MTX':
         appVar.coreInstance.handleMtxMessage(jsonObj)
         self.state = CONNECTED
     elif msgType == 'MSG':
         appVar.coreInstance.handleMsgMessage(jsonObj)
     elif msgType == 'OUT':
         appVar.coreInstance.handleOutMessage(jsonObj)
     elif msgType == 'LIV':
         appVar.coreInstance.handleLivMessage(jsonObj)
     else:
         self.logMsg("bledny typ wiadomosci '%s' w stanie %d" % (msgType,  self.state))
         self.state = DISCONNECTED
         self.transport.loseConnection()
Exemple #2
0
 def connectionMade(self):
     self.logMsg("nowe polaczenie")
     self.transport.setTcpNoDelay(True)
     if self.state == INIT:
         appVar.tcpManager.newConnection(self)
         if self.isClient and self.isReversed == False:
             # to my utworzylismy polaczenie wiec wysylamy hii msg i czekamy na log
             self.state = WAIT_FOR_LOG
             msgToSend = MessageParser.getFullHiiMsg()
             self.logMsg("wysyłam wiadomosc i czekam na log msg : '%s'" % msgToSend)
             self.sendPacket(msgToSend)
         elif self.isClient and self.isReversed:
             # to my utworzylismy polaczenie wiec wysylamy P2P i czekamy na HII msg
             self.logMsg("czekam na znacznik %s")
             self.sendPacket(MessageParser.getFullP2pMsg())
             self.state = WAIT_FOR_HII
         else:
             # ktos do nas sie podlaczyl wiec poprostu czekamy na HII lub P2P
             self.logMsg("czekam na hii/multitalk message")
             self.state = WAIT_FOR_HII_OR_P2P
     else:
         self.logMsg("bledny stan protokolu")
         assert(False)
Exemple #3
0
 def lineReceived(self, line):
     #self.logMsg("otrzymałem linie tekstu")
     if self.state == WAIT_FOR_HII_OR_P2P and line == MULTITALK_TAG:
         #ktos podlaczyl sie do nas podajac z palca IP wiec wysylamy mu HII i oczekujemy na LOG
         msgToSend = MessageParser.getFullHiiMsg()
         self.logMsg("wysylam hi msg '%s'" % msgToSend)
         self.sendPacket(msgToSend)
         self.state = WAIT_FOR_LOG
         return
     elif self.state == WAIT_FOR_HII_OR_P2P:
         self.logMsg("niedopasowalem znacznika %s wiec oczekuja ze otrzymam HII" % MULTITALK_TAG)
         
     len = MessageParser.getMessageLen(line)
     if len:
         #self.logMsg("otrzymalem naglowek - czekam na odczyt %d bajtow" % len)
         self.packetSize = len
         self.toRead = len
         #teraz chcemy odczytać wnętrze pakietu
         self.packet = ""
         self.setRawMode()
     else:
         #self.logMsg("przerywam polaczenie - bledy poczatek pakietu: '%s'" % line)
         #self.transport.loseConnection()
         self.logMsg("bledy poczatek pakietu - ignoruje go: '%s'" % line)