GNET GnetMessageObject [erledigt]
Übersicht

c64Betreff: GNET GnetMessageObject [erledigt] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
[EDIT]
Hmm, naja also bin echt entäuscht aber is ja nich zu ändern ausser man implementiert es selber ansonsten besteht keine möglichkeit den Sender einer Message herauszubekommen. Da man dadurch aber ein ID system einbauen müsste mache ich mich doch drann und schreibe mir selber ein Modul für den Netzwerkkrahms, wäre ja nicht das erstemal. Dazu werde ich wie in Battle-Blocks das Bnet(EX) von Vertex benutzen. Eigentlich sehr schade da ich schon sehr weit mit der Implementierung des Netzwercodes war, und er echt wunderbar lief bis auf die Tatsache das keine möglichkeit bestand Nachrichten zu senden die auch 100% ankommen. [/EDIT] Hi, Wie in der Überschrift schon geschrieben, da GnetMessages wohl zu 100% ankommen sind sie für bestimmte dinge unerlässlich, nur bekommt man den Peer nicht also das GnetObject was die Message gesendet hat. Alle ankommenden Messages werden dem Localen GnetObject zugeordnet. Weiss jemand eine Lösung ? Code: [AUSKLAPPEN] '////////////////////////////////////// '/ '/ '/ '/ GNET BUG !! '/ '/ ----------------------------------- SuperStrict Import brl.gnet Global _self :TgnetHost = CreateGNetHost () Global _localclient :TgnetObject Global Port :Int =12345 Global Counter :Int If Not Join () Host () GNetListen (_self,Port) Graphics 100,40,,0 Repeat Cls If KeyHit(key_escape) Or AppTerminate () End ControlMessages () ControlObjects () If MilliSecs()-Counter > 2000 Counter=MilliSecs() SendMSG() Flip Delay (50) GNetSync(_Self) Forever Function Join:Byte() If GNetConnect (_Self,"5.167.243.210",port,1000) _localclient = CreateGNetObject (_Self) Print "Client" AppTitle="Client" Return True EndIf End Function Function Host:Byte() _localclient = CreateGNetObject (_Self) If _localclient Print "HOST" AppTitle="HOST" Return True EndIf EndFunction Function ControlMessages() Local Message:TGnetObject If _Localclient For Message=EachIn GNetMessages(_Self) Print"______________" Print"INCOMING MSG :" Local MSGObj:TGNETOBJECT = GNetMessageObject (Message) If GNetObjectLocal (MSGObj) Print "SENDER IS LOCALCLIENT ?!!?!!" If MSGObj Local TargetObject:String = String(GetGNetTarget (MSGOBJ)) If TargetObject Print "from : "+TargetObject EndIf Next EndIf EndFunction Function ControlObjects() Local NetObject:TGnetObject If _Localclient For NetObject=EachIn GNetObjects(_self) If GNetObjectLocal (NetObject) Continue Local State:Int=NetObject.State() Select State Case Gnet_Closed Print"________________" Print"Client CLOSED :" Local TargetString:String = String(GetGNetTarget (NetObject)) If TargetString Print "ID : > "+TargetString+" <" Continue Case Gnet_Created Print"________________" Print"Client Created :" SetGNetTarget (NetObject ,String("REMOTECLIENT :"+String(MilliSecs())) ) Local TargetString:String = String(GetGNetTarget (NetObject)) If TargetString Print "ID : > "+TargetString+" <" EndSelect Next EndIf EndFunction Function SendMSG() Local MSG :TGNETOBject = CreateGNetMessage (_self) Local RCVClient:TGNETOBject '= _localclient For RCVClient = EachIn GNetObjects(_Self) If GNetObjectLocal (RCVClient) Print "MSG RCVR is LocalClient MSG not send !!" Continue SendGNetMessage (Msg,RCVCLient) Print "SEND" Next EndFunction mfg. C64 |
||
Betreten verboten! Kinder haften für ihre Eltern! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group