bnetex in eine Gui laufen lassen?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

funkheld

Betreff: bnetex in eine Gui laufen lassen?

BeitragDo, Aug 11, 2016 9:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, guten Tag.

Ich spiele mit bnetex rum und funktioniert wunderbar im Textmodus.
Nur finde ich keine Demo für eine Gui.

Ich hab es einmal angefangen etwas hinzubauen mit einem Button , aber es kommt beim Empfänger-Text nichts an.

Vielleicht funkt da irgend ein Event dazwischen..., ich weis es nicht.

Danke.
Gruss

Xeres

Moderator

BeitragDo, Aug 11, 2016 10:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du keinen lauffähigen Code beisteuerst stehen die Chancen das dir geholfen wird schlecht.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

funkheld

BeitragDo, Aug 11, 2016 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das senden mit einem Button aus einer Gui bekomme ich nicht hin.
Das Empfangen soll so bleiben.

Welche Aufgabe hat eigentlich ein Timer in einer Schleife ?


senden:
Code: [AUSKLAPPEN]

SuperStrict

Import vertex.bnetex

Graphics 400,400

Const REMOTE_PORT : Short = 1234

Global Stream : TUDPStream
Global timer:TTimer = CreateTimer(10)
global ypos:Int

Stream = New TUDPStream
Stream.Init()
Stream.SetRemoteIP(TNetwork.IntIP("127.0.0.1"))
Stream.SetLocalPort()
Stream.SetRemotePort(REMOTE_PORT)

Stream.WriteLine("test...")
ypos=ypos+14
drawtext(Stream.SendMsg() + " Bytes sended",0,ypos)

While Not AppTerminate()
  Flip 0
   WaitTimer(timer)
wend

If Stream Then Stream.Close()
end


empfangen:
Code: [AUSKLAPPEN]

SuperStrict

Import vertex.bnetex
Import brl.timer

Graphics 400,400

Const LISTEN_PORT : Short = 1234

Global timer:TTimer = CreateTimer(50)
Global Stream : TUDPStream
global ypos:Int

Stream = New TUDPStream
Stream.Init()
Stream.SetLocalPort(LISTEN_PORT)

While Not AppTerminate()
   If Stream.RecvAvail() Then
      While Stream.RecvMsg() ; Wend

      If Stream.Size() > 0 Then   
         While Not Stream.Eof()
            drawtext("> " + Stream.ReadLine(),10,14)
         Wend
      EndIf
   EndIf
   
   Flip 0
   WaitTimer(timer)
wend

If Stream Then Stream.Close()
End




Danke.
Gruss

Mathias-Kwiatkowski

BeitragDo, Aug 11, 2016 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
bnet kannst du sowohl in einer gui als auch in einer app laufen lassen, ich zeige dir wie
es reicht die hauptschlefe.


Code: [AUSKLAPPEN]

CreateTimer(60) '<- muss davor damit das prog geupttdatet wird und das nich nur bei einem event handschlag

Repeat

'Netzerk einlesen und auch das auslesen. kannste hier oder auch unter dem select packen, ferrtig

Select WaitEvent()
     Case EVENT_GADGETACTION
              
     Case EVENT_GADGETSELECT

     Case EVENT_WINDOWCLOSE
          End
EndSelect

Forever



Ps.
Code: [AUSKLAPPEN]
Stream.WriteLine("test...")
ypos=ypos+14
drawtext(Stream.SendMsg() + " Bytes sended",0,ypos)


das dürfte nicht laufen vorallem weil drawtext schon in deiner schleife sein müsste also so

so sollte es
Code: [AUSKLAPPEN]

local A$="test"
Stream.WriteLine(a)
local B% = Stream.SendMsg()

local timer:ttimer=createtimer(60)

While Not AppTerminate()
     drawtext b,0,14
     Flip
     WaitTimer(timer)
wend


Da du scheinbar alles auf udp aufbaust sollte dein empfang code auch schauen wieviele bytes tatsächlich angekommen sind (auch der server sollte schauen ob alle infos vollständig sind) kommen infos unvollständig an kannst du sie logischerweise nicht auslesen, UDP heisst das nachrichten eventuell gar nich ankommen oder eben nur ein teil der nachricht, und die reihenfolge ist unsortiert. bei tcp ist dies anders darum dauert tcp auch bissel länger... heisst programm fängt an zu stottern, es sei den du arbeitest mit multithread.
Skype: Anarchie1984
http://projektworks.de/maxbase/
Icq - Erneuert am 21.08.2017
Yahoo - Erneuert am 21.08.2017
 

funkheld

BeitragDo, Aug 11, 2016 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Werde ich mal versuchen.

Danke.

Gruss

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group