UDP-Netzwerk-Library
Übersicht

![]() |
XaronBetreff: UDP-Netzwerk-Library |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
da ich momentan auch ein kleines Multiplayerspiel schreibe, allerdings nur eine Linux-Kiste als Server habe und diesen eh in C++ programmiere, habe ich nach einer Möglichkeit gesucht, eine allgemeine UDP-Netzwerklibrary zu verwenden, die sowohl unter Windows (mit Blitzbasic und C++) als auch Linux (mit C++) läuft. ![]() Sowas geht natürlich nur mit einer Userlib. Also habe ich eine kleine Lib programmiert und möchte sie euch hier mit anbieten. Basis der Lib ist übrigens die freie ENet-UDP-Netzwerklibrary, die speziell auf Multiplayer-Spiele (FPS Cube) hin ausgerichtet ist. Wer genaueres wissen möchte, was ENet so alles kann, schaue bitte hier: http://enet.cubik.org/Features.html Kurz: Ihr habt die UDP-Geschwindigkeit in Verbindung mit der TCP-Verlässlichkeit. ![]() Die Lib inklusive eines kleinen BB-Client/Server-Beispiels könnt ihr euch hier runterladen: http://www.leidel.net/dl/bbenet.zip ACHTUNG: Das ist die allererste Version, Fehler sind gut möglich! Außerdem hab ich noch nicht so die Userlib-Schnittstellenerfahrung, möglicherweise geht da einiges noch eleganter, als über Bänke, so wie ich das jetzt gemacht habe... Mit einer richtigen Doku kann ich auch noch nicht dienen, die Funktionen habe ich "grob" beschrieben. Ansonsten schaut euch die Beispiele an, die dürften eigentlich selbsterklärend sein... Falls es Fragen gibt, oder irgendwas nicht funktioniert, lasst es mich bitte wissen! ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
- Zuletzt bearbeitet von Xaron am Do, Mai 31, 2007 11:11, insgesamt einmal bearbeitet
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klingt interressant.
Ich hätte dafür sicherlich Bmax verwendet. Aber wers nciht hat, kanns nciht nutzten. Auf jeden fall erstmal respekt, scheint zu funktionieren. |
||
between angels and insects |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ui, das ging ja schnell. ![]() Naja, im Prinzip hab ich ja nur den Wrapper geschrieben, die ENet-Lib selbst ist "rocksolid". ![]() Blitzmax hab ich eben leider nicht, außerdem wollte ich den Server eh in C/C++ schreiben... Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ähm der Link ist tot.....könnte das bitte mal jemand beheben? Ich wäre nämlich sehr interessiert. Danke schonmal | ||
Zitat:
Wie poste ich falsch? Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann. |
![]() |
AcidRain |
![]() Antworten mit Zitat ![]() |
---|---|---|
ähm...ist zwar schon lange her,aber könnte mir einer diesen link nochmal anwerfen...ansonsten sollte dieser Thread am besten sofort gelöscht werden(steht ja nicht besonders viel erhaltenswertes Wissen drin,ohne den Link^^),da sich sonst beim vorbeiscrollen immer eine sabberfütze unter meinem Tisch bildet.. | ||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja verdammt, hat sich doch die Domain geändert. Sorry. Ich editier's gleich mal im ersten Posting. Danke für den Hinweis! ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
Apprauuuu |
![]() Antworten mit Zitat ![]() |
---|---|---|
WOW das ist ja cool!
Die Verlässlichkeit hat mir in UDP nämlich ziemlich gefehlt... Ich werd es mal versuchen innerhalb der nächsten Woche bei mir in LOL³Fighters einzubauen und sehn, ob sich da das Problem, das ich zuvor hatte, besitigt... |
||
Arbeitsstand:
Umprogrammierung von LOL³Warriors und LOL³Fighters in Bmax... LOL³Fighters wird spielerisch noch mal ordentlich aufpoliert, um es Ligatauglich zu machen (zumindest für private Funligen von mir ^^) |
Sebe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was hat es denn mit der sNetData Struktur auf sich?
Und wird die DLL noch weiter dokumentiert? Ich finde die nämlich grade extrem genial ![]() |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm, sorry für die späte Antwort, ich sollte hier doch öfter mal reingucken. ![]() Was es mit dieser sNetData-Struktur genau auf sich hat, ist mir jetzt auch unklar. Ich hab da auf der offiziellen Seite auch nichts gefunden: http://enet.bespin.org/index.html Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
Apprauuuu |
![]() Antworten mit Zitat ![]() |
---|---|---|
Unterstützt Enet überhaupt Peer to peer??
Ist ja eigentlich auch eins der Hauptmerkmale von UDP... |
||
Arbeitsstand:
Umprogrammierung von LOL³Warriors und LOL³Fighters in Bmax... LOL³Fighters wird spielerisch noch mal ordentlich aufpoliert, um es Ligatauglich zu machen (zumindest für private Funligen von mir ^^) |
Guillemot |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich würde Enet auch gern nutzen, aber leider verstehe ich absolut nicht wie man damit Daten empfangen kann. Desweiteren ist mir beim Senden von Daten unklar, was es mit dieser ClientID auf sich hat. Gibts da eine feste ID oder kann man sich eine ausdenken? Ich hoffe Ihr könnt mir weiterhelfen. |
||
Guillemot |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das mit dem Datenempfang hat sich erledigt.
Habs jetzt hinbekommen, lag wohl daran, das ich von Banks keine Ahnung hatte. Das Problem mit der ClientID habe ich aber immer noch. |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wärs mit einer IP? | ||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die IP braucht man nur zum Verbinden.
Ich würde mir zuerst die Dokumentation durchlesen, bevor ich hier irgendwas poste ![]() Die PeerID bzw. ClientID wird bei jedem Event von Enet in einer Bank ( im Sample heisst sie 'PeerID' ) abgelegt. Mithilfe von PeekInt kannst du diese auslesen und so später Daten versenden. Dies wird nur beim Server benötigt, da beim Client sowieso eine 0 beim Peer angegeben werden muss, da ein Client nur eine Verbindung offen haben kann. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Guillemot |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group