WaitEvent() + IPv4 / v6

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Compix

Betreff: WaitEvent() + IPv4 / v6

BeitragMo, Jan 24, 2011 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Smile
Ich hatte mal kurz ein paar Fragen noch zum BB.
Kann BlitzBasic / BlitzMax auch mit IPv4 bzw. IPv6 umgehen, oder wird es da bei einer Umstellung zu Problemen kommen?

Desweitern habe ich noch ein Problem mit WaitEvent().
Ich möchte während der WarteZeit bis eine Aktion ausgeführt wird, etwas anderes von dem Programm machen lassen. (Ping Test zum Server, sonst Programm beenden wenn keine Antwort und noch paar Kleinigkeiten) Smile

Wünsche auch wieder eine super Antwort, wie bisher immer Cool

Tankbuster

BeitragMo, Jan 24, 2011 6:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zuerst möchte ich sagen, dass BlitzMax im gegensatz zu Blitz3D mit der Standartinstallation keine Netzwerk-unterstützenden Funktionen hat. Die musst du erst mit Modulen wie z.b.
https://www.blitzforum.de/foru...hp?t=13569
nachrüsten Wink

IPv4 unterstützt Blitz3D, da es das heut verwendete Standart-Protokoll ist.

Blitz3D verwendet UDP und TCP als Kommunikationsprotokolle. Diese Protokolle werden mit dem IP versendet, und enthalten keine IP-Adressen, oder sonstiges, sondern nur Ausgangs und Eingangsport.
UPD und TCP sind also IP unabhängig.

Das Problem ist aber, dass IPv6 einen Adressraum von 2^128 verschiedenen Adressen hat, diese Anzahl also garnicht durch einen Blitz-Integer darstellbar ist. o.O
Daher glaube ich kaum, dass Blitz so wie es jetzt ist überhaupt IPv6 Pakete verschicken könnte, da es an der 1Int-Adressierung von z.b. UDPSendMSG scheitert.
Das gilt für Alle Bmax Module natürlich auch.

Fazit: Bei einer Umstellung brauchen BBler auf jedenfall ein Update, wodurch BB IPv6 unterstützt, und Bmaxer benötigen Leute, die ihre Netzwerkmodule erneuern (bzw, vielleicht gibt es ja schon IPv6 unterstützende Module)

Auf der 100%sicheren Seite ist man also nicht, solange man es nicht alleine kann Smile
Twitter
Download Jewel Snake!
Windows|Android
 

Compix

BeitragMo, Jan 24, 2011 8:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut, vielen Dank schonmal für diese aufführliche Antwort Smile

BtbN

BeitragMo, Jan 24, 2011 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Tankbuster hat Folgendes geschrieben:
Zuerst möchte ich sagen, dass BlitzMax im gegensatz zu Blitz3D mit der Standartinstallation keine Netzwerk-unterstützenden Funktionen hat.

So ein schmarn. Wenn man keine zu Hohen ansprüche hat, reichen die Haus-Netzwerk-Funktionen von BlitzMax vollkommen aus.

Und auch wenn TCP/UDP eine ebene über IP arbeiten, braucht man trotzdem volle unterstützung der Anwendung, da eine IP wie bereits gesagt nicht mehr 4 Byte groß ist. Da BB und BMax mit integer-IPs arbeiten, ist es unwahrscheinlich, dass Mark sich jemals die mühe machen wird, das auf IPv6 nachzurüsten. Bei BMax könnte man es selber nachrüsten. In BB sehe ich da keine chance.
(OT: Noch 8 Tage, dann sind keine freien IPv4 addressen mehr übrig)
 

Compix

BeitragMo, Jan 24, 2011 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich betreibe dann auch mal kurz Off-Topic Smile
Wird dann in 8 Tagen alles umgestellt oder wie?

Bzw. kann man per DLL BlitzBasic nachrüsten?

biggicekey

BeitragMo, Jan 24, 2011 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann mir gut vorstellen das ein Update kommt. Mark hat uns jetzt noch mehrmals überrascht.
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller
Nothing more to register - you've cleaned us out![/size]
 

Compix

BeitragMo, Jan 24, 2011 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Wer ist Mark? Der Entwickler Smile ?

Tankbuster

BeitragMo, Jan 24, 2011 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
[quote="BtbN"]Tankbuster hat Folgendes geschrieben:
Zuerst möchte ich sagen, dass BlitzMax im gegensatz zu Blitz3D mit der Standartinstallation keine Netzwerk-unterstützenden Funktionen hat.

So ein schmarn. Wenn man keine zu Hohen ansprüche hat, reichen die Haus-Netzwerk-Funktionen von BlitzMax vollkommen aus.

Ups, tut mir leid, aber irgendwie hatte ich das im Gedächtnis.
Twitter
Download Jewel Snake!
Windows|Android

BladeRunner

Moderator

BeitragMo, Jan 24, 2011 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Mark Sibly ist der Entwickler von Blitz Basic und Blitz Max, ja.
Und ich glaube auch nicht an ein Update. Mark ist doch nun an Monkey am basteln, und bislang war es immer so dass er - sobald er was neues bastelt- nur noch kosmetische Änderungen an den Vorgängern erarbeitet.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Thunder

BeitragMo, Jan 24, 2011 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu der WaitEvent-Sache: WaitEvent wartet bis ein Event ausgelöst wird. Das lässt sich aber über den Parameter von WaitEvent ändern, der die maximale Wartezeit angibt. Nimm z.B. WaitEvent(5). Dann wartet das Programm maximal 5 Millsekunden auf ein Event.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Compix

BeitragMo, Jan 24, 2011 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Also kann ich so:
BlitzBasic: [AUSKLAPPEN]

; ...
.gobacktostart
While Not WaitEvent(500)
Case $803
End
Wend
; Meine Abfrage :)
Goto gobacktostart
: ...


es so machen, dass die Events gehen UND ich meinen Server auf Ping's teste?

BladeRunner

Moderator

BeitragMo, Jan 24, 2011 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ARGH! Vergiß Goto. Diesen Befehl gibt es nicht. Er ist böse. Aus!
Goto führt zu übelst unstrukturiertem und unübersichtlichen Code.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Compix

BeitragMo, Jan 24, 2011 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soll ich den stattdessen machen Sad ?

ToeB

BeitragMo, Jan 24, 2011 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du nimmst PeekEvent.. Allerdings musst du um EventData und EventID auslesen zu können danach noch WaitEvent ausführen (war bei mir zumindest so). Also :.
Code: [AUSKLAPPEN]
Event = PeekEvent( )
If Event Then

   WaitEvent( )
   
   eSource = EventSource( )
   eData = EventData( )
   
   Select Event
   Case $803
      End()
   End Select
   
EndIf


WaitEvent hält in dem Falle das Programm nicht an. Somit kannst du Stream-Abfragen und andere Dinge im "Hintergrund" laufen lassen.


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Compix

BeitragMo, Jan 24, 2011 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut, und wenn ich das dann da einbauen will müsse das so aussehen:
BlitzBasic: [AUSKLAPPEN]

Event = PeekEvent( )
If Event Then

WaitEvent( )

eSource = EventSource( )
eData = EventData( )

Select Event
Case $803
End()
End Select

Else
; HIER MEINE ABFRAGE
EndIf

ToeB

BeitragMo, Jan 24, 2011 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Else kannst du auch weglassen, denn du fürhst die sachen sicher in einen Schleife aus :
Code: [AUSKLAPPEN]
Repeat

Event = PeekEvent( )
If Event Then

   WaitEvent( )
   
   eSource = EventSource( )
   eData = EventData( )
   
   Select Event
   Case $803
      End()
   End Select

EndIf

  ; HIER MEINE ABFRAGE

Forever
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Compix

BeitragMo, Jan 24, 2011 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Und nochmal was anderes, bevor ich mein 8tes Thema aufmache Wink
Ich habe jetzt ein Programm mit XY IF-Schleifen (sagt nix wenn es besser gehen würde :S )
Und da müsste ich nun weiter reinprogrammieren (was eigentlich ganz anderes wieder Smile )
Kann ich da jetzt Goto verwenden, oder sollte ich da auch was anderes nehmen?

Xeres

Moderator

BeitragMo, Jan 24, 2011 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt keine If-Schleifen Exclamation
Und nein, verwende kein GoTo. Benutzte Funktionen Arrow Function
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)
 

Compix

BeitragMo, Jan 24, 2011 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, wie hießen die IF-Dinger dann nochmal Smile

Und kann man durch CreateWindow() geöffnete Fenster auch wieder schließen?
Denn wenn ich das Event $803 verwende passiert nix, jedoch (natürlich) beim Hinzufügen vom Befehl End

ToeB

BeitragMo, Jan 24, 2011 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Es heißt IF-Bedingungen Wink

Zu den Fenstern : https://www.blitzforum.de/help/?subcat=25


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group