Erstellen eines Online Multiplayer Apps

Laikoos

Mitglied
Hallo liebe Community,
da ich jetzt nach langem rumprobieren immer noch keine Lösung für mein Problem
mit Kryonet gefunden habe wollte ich jetzt euch mal fragen, was es denn noch so für gute
Netzwerk-Lib gibt die gut geeignet sind für in meinem fall 2D Multiplayer Spiele.

Ich benutze für das Game selber Slick 2D.
Nur ich brauche dazu noch eine simple Netzwerk-Lib.

Wenn ihr einen Rat für mich habt postet ihn doch bitte :)

Liebe Grüße Laikoos
 
I

irgendjemand

Gast
wenn es keine LIB gibt die deinen vorstellungen entspricht bau dir doch ganz einfach ne eigene

überleg dir welche daten du zwischen welchen parteien austauschen willst und wie man das realisieren könnte

wenn du z.b. eine dierekte client-to-client connection willst dann bau dir STUN nach *brauchst n server im netz der den verbindungs aufbau regelt*

du kannst natürlich auch alle daten über einen zentralen server laufen lassen ...

oder ... oder ... oder ...

es hängt davon ab WAS du WIE übertragen willst ...
 

Laikoos

Mitglied
Das wirkliche Problem ist das ich mich mit der Materie der ganzen Socket etc. Geschichte noch nicht wirklich auskenne.

Ich bin jetzt mal ein bisschen rumprobieren mit Apache Mina, sieht recht simpel und gut aus^^
 
I

irgendjemand

Gast
also wenn du keinen plan von streams und network-i/o hast ... dann solltest du dir das erstmal angucken bevor du eine komplexe net-app baust die dann plötzlich irgendwo fehler hat und du diese nicht lösen kannst da du nicht genau weis WAS genau schief läuft ...

in der JavaInsel gibt genug stoff zu diesem thema
 

Kr0e

Gesperrter Benutzer
Project Darkstar... Heißt jetzt glaub ich "RedDwarf". Ist ein Gameserversystem, darüber läuft auch Project Wonderland etc..

Ist ziemlich mächtig, falls dich das allerdings nicht abschreckt würde ich dir das wärmstens empfehlen.
 

Laikoos

Mitglied
Aber das ganze als Applet zu realisieren ist etwas schwieriger oder ?
Da ja Java Security alles Blockiert.. selbst wenn man Spieleressourcen laden will.
Geschweige denn die Objekte die zum Server gesendet werden sollen.
 
I

irgendjemand

Gast
hmm .. warum ?

ein applet darf doch resourcen laden ... und auch ganz legitim eine verbindung zu seinem home-server *also dem von dem es aus geladen wurde* aufbauen ...

verstehe grade deine probleme nicht ...

vllt postest du mal WAS GENAU nicht geht ... weil "geht nicht" ist keine fehlerbeschreibung
 

Kr0e

Gesperrter Benutzer
Ich meine sogar Applets dürften auch zu anderen Servern Verbindungen aufbauen, sofern die Applets "zertifiziert" sind. Und ich meine ohne dieses Zertifikat ist es selbst schwer eine Verbindung zum Homeserver auf einen anderen Port aufzumachen. Sprich Applets werden über HTTP geladen und wenn dann das Applet versucht ne Verbindung zum RedDwarf oder sonst-was-java-server aufzubauen (selbst wenn diese auf dem selben Server laufen aber logischerweise anderer Port) kann es zu Problemen kommen! Also wie gesagt kann sehr gut sein dass ich mich grad irre, aber so wars, als ich das letzte mal mit Applets gearbetiet habe...

Gruß,
Chris
 
I

irgendjemand

Gast
"applets dürfen verbindungen zu anderen servern aufbauen"

erstmal grundsätzlich : nein

nur wenn man ein applet signiert *zertifikat ist das teil womit die signierung legitimiert wird ... der eigentliche vorgang heißt aber signieren ... kommt von der dem applet verpassten signatur* wurde darf es verbindungen zu anderen servern aufbauen ... hat dann aber auch gleichzeitig vollen zugriff aufs system und damit auf die platten ...


"verbindung zu nicht-http dienst"

da ist deine aussage definitiv falsch

so lange du eine verbindung zum home-server aufbaust ist es völlig egal welches protokoll und welchen port du nutzt ... so lange es exakt der selbe server ist von dem es geladen wurde *über Context.getCodeBase oder so zu ermitteln* ...
ob ich dabei jetzt eine TCP-verbindung auf port 80 *http* aufbaue ... oder sonst eine kommunikationsart wähle ist dem securitymanager egal ... das einzige was ihn interessiert : verbindung zum home-server

natürlich sollte man gerade bei UDP vorsichtig sein .. aber bei TCP greift das auf jeden fall
 

Kr0e

Gesperrter Benutzer
Ok, wusste nicht, dass es kompletten Zugriff auf den HomeServer hat. Aber bei größeren Spielen reicht das meiner Ansicht nach immer noch nicht -> Clustering.

ICh würde vermutlcih lieber zu WebStart greifen oder direkt Flash nehmen und mit deren Socket API die Netzwerkgeschichte implementieren, das harmoniert ohnehin besser mit Browsern und bietet seid Version 11 Hardware 3D. Außerdem ist es dann egal, ob die User eine JRE haben oder nicht.

-> Wähle die Technik, die zu deiner Aufgabe passt. Java ist kein Heilmittel für jede Art Aufgabe...

Gruß,
Chris
 
I

irgendjemand

Gast
WebStart ist aber auch nicht grad immer die beste lösung im vergleich zu Applets ...

WebStart ist ja lediglich eine technologie um applikationen über das java-browser-plugin zu laden und zu starten ... allerdings unterliegen auch WebStart apps ohne signierung und spezielle anpassungen im JNLP den selben sicherheitsbeschränkungen wie applets ... was ja eine der hauptpunkte ist ...

was das clustering angeht : kommt immer auf die verwendete load-balancing-technik an ... ob sich java mit dns-balancing austricksen lässt weis ich leider nicht ... müsste man ausprobieren ... aber soweit ich weis berprüft der SecurityManager wohl nur den code der ausgeführt wird ... nicht aber die umsetzung vom OS ...

ich mein ... wenn du z.b. Context.getCodeBase() *oder wie auch immer* verwendest bekommt man in der regel einen host-namen ...
was jetzt aber passiert wenn ein dns für http den dns-namen anderst auflöst als z.b. für ne game-verbindung weis ich nicht ... sollte aber java nicht weiter interessieren da java nicht so tief in den net-I/O-stack zugriff hat ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
x46 Java SSLContext erstellen mit SSL-Zertifikat Netzwerkprogrammierung 1
J Firebase Functions Notifications erstellen Netzwerkprogrammierung 1
B JKS erstellen bitte um hilfe Netzwerkprogrammierung 1
C Servlet erstellen klappt nicht Netzwerkprogrammierung 3
R Bonusprogramm erstellen Netzwerkprogrammierung 1
N Lan-Verbindung erstellen Netzwerkprogrammierung 2
T HTTP Einen HTTP Server erstellen Netzwerkprogrammierung 20
4 Socket Kann kein ServerSocket erstellen Netzwerkprogrammierung 4
I HTTP Grundlagen um einen Webserver zu erstellen Netzwerkprogrammierung 17
M eclipse helios neuen tomcat server erstellen Netzwerkprogrammierung 8
H RMI Stubs and Skeletons lassen sich nicht erstellen Netzwerkprogrammierung 4
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
L Mit Java auf Forum einloggen und dann einen Threat erstellen Netzwerkprogrammierung 4
S HTTP Request erstellen Netzwerkprogrammierung 2
L webformular automatisch erstellen, senden und auswerten . Netzwerkprogrammierung 2
G einfach Möglichkeit um Web Services erstellen Netzwerkprogrammierung 5
D HTTP Request erstellen (Form Name übergeben!) Netzwerkprogrammierung 3
clemson Ordner auf Netzlaufwerk erstellen Netzwerkprogrammierung 11
T Ordner auf FTP erstellen Netzwerkprogrammierung 4
T Mit FTP verbinden, einen Ordner erstellen und Datei löschen Netzwerkprogrammierung 3
R Eigenen FTP Server erstellen Netzwerkprogrammierung 5
M SocketError bei Aufruf eines SOAP-Servers Netzwerkprogrammierung 8
G seite nach posten eines html-forms laden Netzwerkprogrammierung 0
J Protokolle innerhalb eines Heimnetzwerks Netzwerkprogrammierung 6
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
X Response eines RESTful-Service mit JSON Netzwerkprogrammierung 8
F Neuer Json aus teilen eines vorhandenen Json Netzwerkprogrammierung 0
N Client Identifikation eines Servers Netzwerkprogrammierung 1
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
K Multiplayer eines Spiels Netzwerkprogrammierung 21
K Ansprechen eines Remote Druckers Netzwerkprogrammierung 2
eLogic Download eines Links Netzwerkprogrammierung 2
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
2 Schliessen eines Serversockets Netzwerkprogrammierung 2
Hindi93 Abbruch eines Programmes abfangen Netzwerkprogrammierung 8
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
C Alle Computer eines Netzwerkes finden Netzwerkprogrammierung 32
N Senden eines Arrays Netzwerkprogrammierung 6
U Name eines Netzlaufwerks ermitteln Netzwerkprogrammierung 5
L Body eines http Request auslesen Netzwerkprogrammierung 2
K Ende eines HTTP Response/Request Netzwerkprogrammierung 6
aze Tcp Verkehr eines Applets simulieren Netzwerkprogrammierung 10
J Socket Erreichbarkeit eines Java Servers (Socket-Lösung) über das Internet Netzwerkprogrammierung 3
M Socket Leistungsfähigkeit eines xSocketservers, wieviele Verbindungen max? Netzwerkprogrammierung 4
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
cowabunga1984 Transferierte Datenmenge eines SOAP Clients (JAX-WS) anzeigen Netzwerkprogrammierung 2
K TrafficClass eines UDP Pakets kommt beim Empfänger nicht an Netzwerkprogrammierung 5
musiKk Problem bei bidirektionaler Nutzung eines Socket Netzwerkprogrammierung 2
J Machbarkeit eines Bluetooth-Servers? Netzwerkprogrammierung 2
S Realisierung eines Netzwerkcodes für ein Strategiespiel Netzwerkprogrammierung 7
K "Ende eines Sockets" Netzwerkprogrammierung 9
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
P problem beim schließen eines Streams Netzwerkprogrammierung 6
K Mit Java-MailAPI dir Verfügbarkeit eines SMTP-Servers prüfen Netzwerkprogrammierung 4
J while-Schleife / Abbruchbed. beim Einlesen eines Streams Netzwerkprogrammierung 4
U Ende eines Inputstreams ermitteln Netzwerkprogrammierung 3
J Länge eines Streams Netzwerkprogrammierung 4
T Timeout eines KSOAP-Calls Netzwerkprogrammierung 5
G Info eines Webseites kopieren Netzwerkprogrammierung 16
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
E Möglichkeit zum Timeout eines Process Netzwerkprogrammierung 7
T Erstellung eines Proxy Netzwerkprogrammierung 11
T Pfad eines Servlets rausfinden Netzwerkprogrammierung 2
O Einbinden eines java-servers Netzwerkprogrammierung 9
C Übergabe eines Datensatzes (Übergabestruktur) Netzwerkprogrammierung 12
G Verzeichnis eines Rechners übers Netzwerk auslesen Netzwerkprogrammierung 5
B Problem mit der Ausgabe eines Strings an SocketOut Netzwerkprogrammierung 4
F Schulprojekt erweitern - Online Quiz mit mehreren Clients - Was benötige ich ? Netzwerkprogrammierung 0
Da_Tebe Online MauMau Netzwerkprogrammierung 3
F Highscore online speichern Netzwerkprogrammierung 14
D Offline App mit online MYSQL - DB verbinden Netzwerkprogrammierung 14
K Mobile online Anwendung - Java mit SAP Netzwerkprogrammierung 2
G Online-Datendienst absichern Netzwerkprogrammierung 2
A Online-Server lima-city Netzwerkprogrammierung 11
F Highscore ( online ) Netzwerkprogrammierung 70
A Einfachste Möglichkeit online zu speichern? Netzwerkprogrammierung 28
E Socket Online Highscore. Vorgehensweise Netzwerkprogrammierung 9
M Socket Server online stellen! Netzwerkprogrammierung 14
M Abfrage ob jemand bestimmtes Online ist. Netzwerkprogrammierung 4
S welche Rechner sind im lokalen Netz online Netzwerkprogrammierung 11
T Testen ob server online ist Netzwerkprogrammierung 10
G Server online Netzwerkprogrammierung 7
O Anfragen an Online-Datenbank stellen, z.b. wetter.com Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben