UDP Server, Wie zurück senden?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

The_Shadow3

Betreff: UDP Server, Wie zurück senden?

BeitragSo, Jul 12, 2009 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Hab eine Frage, wie man bei dem Standard Socket/Stream in BlitzMax, als Server, wieder was an den Client zurückschickt. In BnetEx war das alles kein Problem, aber mit den Standard Modulen bin ich etwas ratlos, da _remoteIp sowie Port auf 0 stehen, nach einen Nachrichtenempfang.

Hier ein ausschnitt aus meinen Code:

Code: [AUSKLAPPEN]

Global MySocket:TSocket = CreateUDPSocket()
MySocket.bind(2336)

Global MyStream:TStream = CreateSocketStream(MySocket)



Code: [AUSKLAPPEN]

Function ReceivePacket()
   Local ReceiveCount:Int
   Local ReceiveByte:Byte
   
   ReceiveCount = MySocket.ReadAvail()
   If ReceiveCount
      ' Bank erstellen
      ReceiveBank = CreateBank(ReceiveCount)
      
      ' Bank auslesen
      ReadBank(ReceiveBank,MyStream,0,ReceiveCount)
      
      ' BankStream erstellen
      StreamBank = CreateBankStream(ReceiveBank)
      
      While(StreamBank.Pos() < ReceiveCount)   
         If(StreamBank.ReadByte() = ID_PACKET_START)
            Select StreamBank.ReadByte()
               Case ID_GET_SCREEN_SIZE
                  Print "ID_GET_SCREEN_SIZE"
                  
                  ' Soll Message zurück zum Client senden
                  Print "remoteIp: " + MySocket._remoteIp          ' = 0 ~.~
                  Print "remotePort: " + MySocket._remotePort      ' = 0 ~.~
               
                  StreamBank = CreateBankStream(CreateBank(10))
                  StreamBank.WriteByte(ID_PACKET_START)
                  StreamBank.WriteByte(ID_GET_SCREEN_SIZE)
                  StreamBank.WriteInt(GetSystemMetrics(SM_CXSCREEN))
                  StreamBank.WriteInt(GetSystemMetrics(SM_CYSCREEN))
                  WriteBank(StreamBank._bank,MyStream,0,StreamBank.Size())
                  

                  
            EndSelect
         EndIf
      Wend
   EndIf
EndFunction

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group