"Jungfernflug" der Socketprogrammierung für ein Mühlespiel

Nachbar

Mitglied
Anforderungen :
Die OnlineVariante des MühleSpiels soll in Form einer Client/ ServerArchitektur umgesetzt werden. Zu diesem Zweck soll ein Server implementiert werden, der auf Spielanfragen wartet. Melden sich zwei Spieler an, wird ein Spiel gestartet. Der Spielzustand soll zentral auf dem Server verwaltet werden.

Der Informationsaustausch zwischen den zwei Spielern und dem Server soll
über ein verbindungsorientiertes und sicheres Protokoll realisiert werden.
Greifen Sie zu diesem Zweck auf die im Paket java.net bereitgestellten
Klassen Socket ( = Client ) und ServerSocket ( = Server ) zurück.

Jeder Spieler soll zu jedem Zeitpunkt in der Lage sein, ein Spiel abzubrechen.
Der Gegenspieler soll über den Abbruch des Spiels informiert werden. Nach
Ende oder Abbruch eines Spiels soll ein neues Spiel gestartet werden können.

--------------------------------------------------------------------------------------------------

da hab ich gleich mal ne Frage...also ganz rustikal natürlich, wie immer *g*, ich muss einen Server programmieren, das steht in nem Buch( zumindest Ansatzweise)...die Frage ist gleich ...bei meiner Klasse Mühle, muss ich doch den Konstruktor ändern oder???, denn ich schicke ja dem, der mitspielen will ein Paket an Daten, mit nem zweiten Konstrukuor (dem ich nen Port und ne Internetadresse übergebe), spielt der andere Spieler und "wirft" alles wieder zu mir, ...hab da sowas in der Art gelesen ??? geht das in die richtige Richtung ???

nochmal so für mich: wir haben ja die Offlinevariante fertig, müssen die Klasse, im speziellen, dem Konstruktor wie oben beschrieben abändern und etwaige Ausnahmenbedingen hier und da einbauen und vielleicht noch ein paar Methoden in der Klasse Mühle ergänzen ... ist das so für den Anfang der richtige Weg oder laufen wir Gefahr in einer Sackgasse zu landen ???

wie wäre denn im worst case, der Fahrplan für einen Ausweg ???

Grüße !!!
 
S

SlaterB

Gast
alle bisherigen Klassen zum Spiel sollten weitgehend unverändert bleiben,
die Sockets müssen den Spielstand übertragen und höchstens noch anstelle der Spieler spielen,

wenn es also bisher etwa

Zug x = liesEingabeVonKonsoleFürSpieler1();
spiel.verarbeiteZug(x);

gab, dann lautet es nun

Zug x = liesEingabeVonSocketSpieler1();
spiel.verarbeiteZug(x);

für die Spiel-Klasse ändert sich also gar nix,
außer zur Übertragung muss es vielleicht Methoden a la
speichereSpielstandAlsString()
+
baueSpielstandAusStringAuf()
oder so geben,
vielleicht aber auch nicht mal das, wenn alle den Anfangsstand kennen + die Liste der getätigten Spielzüge,
dann weiß jeder wie es steht,

der Server muss natürlich prüfen, dass die Sockets erlaubte Züge liefern, aber das sollte im Einzelspiel bei den Eingaben auch passieren,
ebenso Sieg bestimmen usw., das müsste es alles geben bzw. ist recht unabhängig davon, ob das Spiel übers Netz läuft und von einem unabhängigen Server kontrolliert wird
 

madboy

Top Contributor
Was mich eher irritiert ist folgendes:
sicheres Protokoll
Was bedeutet "sicher" hier? SSL? One time pad Verschlüsselung? ;-)

Zu deiner Frage: Ich habe keine Ahnung, wie dein Konstruktor aussieht und was du bisher gemacht hast. Unabhängig davon vermute ich aber, dass der Konstruktor dein geringstes Problem sein wird und der auch nicht angepasst werden muss. Versuch's einfach, dann siehst du ob der Konstruktor passt oder evtl. ein zweiter her muss.
 
S

SlaterB

Gast
sicher vielleicht auch im Sinne von 'verlustfrei', da bieten sich Sockets mit verbindungsorientierten TCP ja an
 

Nachbar

Mitglied
aja ok,

falls es noch wichtig werden wird, was ich vermute, hier schon ma der link , wo die offline Variante des Spiels zu finden ist...

http://www.java-forum.org/awt-swing-swt/92203-muehlespiel-funktioniert-neustartproblem.html

ich muss mich auch erstma weiter in das Thema einlesen, was ich aber noch nicht verstehe wie das funzt... immer alles schon gesagt, irgendwas hier und da auf nem Server ablegen und listener und sonst was spielen...
direkt meine frage ist, wie man das selbst am rechner testet, dass das was man geproggt hat,auch funktioniert.
ich meine das so: (p.s. laut anforderungen kann man das testen mit localhost oder sowas, moment ich guck mal eben nach:

"Sie können ihre Umsetzung der OnlineVariante
des Spiels zunächst auf einem
Rechner testen, indem Sie das Loopback Network Interface dieses Rechners
nutzen ( localhost, IP4Adresse:
127.0.0.1 )" ...........

die wohl eigentlichen fragen kommen jetzt ( sorry bin schon völlig wirre *g*):

1. ich sitze vor meinem eclipse , starte das programm und muss es dann nochmal starten ??? dies implizert meine 2. frage

2. wenn ich anfange , bin ich dann gleichzeitig Server und Client ....also wie muss ich die Anforderungen s.o. interpretieren, ist es egal, sollte ich lieber nochmal nachfragen wie die das meinen oder wie oder was...
 

Nachbar

Mitglied
nochmal ich...

wenn ich folgendes lese:

"Im zweiten Schritt soll das MühleSpiel
um eine OnlineVariante
erweitert werden.
Diese soll es zwei Spielern ermöglichen, das Spiel auch auf entfernten aber durch
ein Netzwerk miteinander verbundenen Rechnern zu spielen. Die Spieloberfläche soll
dabei wiederum durch eine graphische Benutzerschnittstelle implementiert werden,
die einzelne Spielzüge über die Maus empfängt."

verstehe ich nicht...oder besser ist es mir momentan fast egal ob das Mühlespiel nun auf einem Server liegt ....aja ich glaube langsam ... der andere Mitspieler am anderen Ende des Raumes an einem anderen PC , bekommt von mir ne Internetadresse, da kann er dann klicken und mitspielen egal ob ich nun gleichzeitig der server bin oder der server nun woanders ist....ach man, alles nicht so einfach, für mich zumindest....

ja die nächste frage wäre ja dann( wenn ich so halb recht hab), was wäre einfacher: ich gleichzeitig server und client oder den server irgendwohin ( wie auch immer..."noch") und mein gegenspieler und ich clienten
 

Nachbar

Mitglied
so, da bin ich mal wieder... ob nun schlauer als vorher, wird sich noch zeigen...

ich bin nun der meinung, das ich gleichzeitig server und client sein kann und woanders der client sitzt...

was ich nun brauche sind die klassen server und client, auch mit reichlichen beispielen, seh ich da noch kein land, was da wo wie hinkommt, ich brauche flush, close, accept, input, output... etc pp, das is aber erstma mein zweites problem ^^

das größere problem is die spielklasse umzuschreiben... ich dreh mich gerad im Kreis ob ich nun initialisieren oder den Konstrukor ändern muss...für weiteres folgen ersteinmal die originalen methoden

Java:
 public Mühle() {
        frame = new JFrame("Mühle");
        frame.addWindowListener(new WindowAdapter() {
 
            @Override
            public void windowClosing(WindowEvent arg0) {
                System.exit(0);
            }
        });
        brett = new Spielbrett(300, 300);
        pool = new Steinpool(300, 100);
        lPlayer = new JLabel("", 0);
        lAktion = new JLabel("", 0);
        menubar = new JMenuBar();
        mSpiel = new JMenu("Spiel");
        mOptionen = new JMenu("Optionen");
        miNeu = new JMenuItem("Neues Spiel");
        miExit = new JMenuItem("Spiel Beenden");
        mSpiel.add(miNeu);
        mSpiel.add(miExit);
        menubar.add(mSpiel);
        menubar.add(mOptionen);
        miExit.addActionListener(this);
        miNeu.addActionListener(this);
        pnlMain = new JPanel(new BorderLayout());
        pnlLinks = new JPanel(new BorderLayout());
        pnlRechts = new JPanel(new GridLayout(0, 1));
        brett.addMouseListener(this);
        pnlLinks.add(brett, BorderLayout.NORTH);
        pnlLinks.add(pool, BorderLayout.SOUTH);
        pnlRechts.add(lPlayer);
        pnlRechts.add(lAktion);
        pnlMain.add(pnlLinks, BorderLayout.WEST);
        pnlMain.add(pnlRechts, BorderLayout.EAST);
        pnlRechts.setPreferredSize(new Dimension(200, 0));
        frame.add(pnlMain);
        frame.setJMenuBar(menubar);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        initialisieren();
    }


Java:
 public void initialisieren() {
        pos1 = 26;
        pos2 = 26;
        regel = "keine";
        spielGestartet = true;
        spielZustand = new String[3];
        steineAufBrett = new int[3];
        steineImPool = new int[3];
        Random rnd = new Random();
        aktSpieler = rnd.nextInt(2) + 1;
        if (aktSpieler == 1) {
            spielZustand[1] = "SteineSetzen";
            spielZustand[2] = "SteineSetzen";
            lPlayer.setText("Weiß dran.");
            steineAufBrett[1] = 0;
            steineImPool[1] = 9;
            steineAufBrett[2] = 0;
            steineImPool[2] = 9;
            brett.spieler = 1;
            lAktion.setText(spielZustand[1]);
            
        } else {
            spielZustand[2] = "SteineSetzen";
            spielZustand[1] = "SteineSetzen";
            lPlayer.setText("Schwarz dran.");
            steineAufBrett[2] = 0;
            steineImPool[2] = 9;
            steineAufBrett[1] = 0;
            steineImPool[1] = 9;
            brett.spieler = 2;
            lAktion.setText(spielZustand[2]);
            
        }
      pool.init();
      brett.init();

        
    	
        
    }

so, als erstes hatte ich mir gedacht den methode initialisieren umzuschreiben respektive aufzuteilen in ini1 und ini2

Java:
 public void initialisieren() {
        pos1 = 26;
        pos2 = 26;
        regel = "keine";
        spielGestartet = true;
        spielZustand = new String[3];
        steineAufBrett = new int[3];
        steineImPool = new int[3];
        aktSpieler = 1;
        
        spielZustand[1] = "SteineSetzen";
        spielZustand[2] = "SteineSetzen";
        lPlayer.setText("Weiß dran.");
        steineAufBrett[1] = 0;
        steineImPool[1] = 9;
        steineAufBrett[2] = 0;
        steineImPool[2] = 9;
        brett.spieler = 1;
        lAktion.setText(spielZustand[1]);
            
        pool.init();
        brett.init();  
        try
		{
			ServerSocket server = new ServerSocket(0);
			System.out.println("Port: " + server.getLocalPort());
			initVerbindung(server.accept());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
    }
    public void initialisieren2(String inetAddr, int port) {
        pos1 = 26;
        pos2 = 26;
        regel = "keine";
        spielGestartet = true;
        spielZustand = new String[3];
        steineAufBrett = new int[3];
        steineImPool = new int[3];
        
        aktSpieler = 2;
        
        spielZustand[2] = "SteineSetzen";
        spielZustand[1] = "SteineSetzen";
        lPlayer.setText("Schwarz dran.");
        steineAufBrett[2] = 0;
        steineImPool[2] = 9;
        steineAufBrett[1] = 0;
        steineImPool[1] = 9;
        brett.spieler = 2;
        lAktion.setText(spielZustand[2]);
           
        pool.init();
        brett.init(); 
        try
		{
			initVerbindung(new Socket(inetAddr, port));
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
    }
zusätzlich noch

Java:
public void initVerbindung(Socket socket)
	{
		try
		{
			ps = new PrintStream(socket.getOutputStream());
			scan = new Scanner(socket.getInputStream());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		new Thread((Runnable) this).start();
	}

so, müssten noch server und client her und alles wäre cool...achja initialisiere2 noch aufgerufen im konstruktor....und nebenbei denke ich mir, könnte es mit dem zufälligen anfang probleme geben, falls nicht, kommt der eben wieder rein

ABER, zwischenzeitlich dachte ich mir. da ja in der methode initialisieren alles rein kommt was man braucht um das spiel sauber starten zu können, kommt mir meine erste idee ein wenig komisch vor.. oder wie seht ihr das ???

ich sag nochmal, falls es noch niemanden aufgefallen sollte, wir sind keine javaprofis ^^

wiederum den konstruktor zu ändern, halte ich für schwachsinn...da ....ah warte mal...vielleicht muss ich doch nur den Konstrukor ändern der art wie ich initialisieren geändert habe und lasse die methode initialisieren so wie sie war...im konstrukor sind alle einmaligen sachen und initialisieren wird überall aufgerufen, könnte wiederrum ein problem mit dem zufallsanfang sein...quellcode kommt gleich....übrigens habe ich noch PrintStream ps;Scanner scan; vorher deklariert

Java:
  PrintStream ps;
	Scanner scan;
 
	public Mühle() {
        frame = new JFrame("Mühle");
        frame.addWindowListener(new WindowAdapter() {
 
            @Override
            public void windowClosing(WindowEvent arg0) {
                System.exit(0);
            }
        });
        brett = new Spielbrett(300, 300);
        pool = new Steinpool(300, 100);
        lPlayer = new JLabel("", 0);
        lAktion = new JLabel("", 0);
        menubar = new JMenuBar();
        mSpiel = new JMenu("Spiel");
        mOptionen = new JMenu("Optionen");
        miNeu = new JMenuItem("Neues Spiel");
        miExit = new JMenuItem("Spiel Beenden");
        mSpiel.add(miNeu);
        mSpiel.add(miExit);
        menubar.add(mSpiel);
        menubar.add(mOptionen);
        miExit.addActionListener(this);
        miNeu.addActionListener(this);
        pnlMain = new JPanel(new BorderLayout());
        pnlLinks = new JPanel(new BorderLayout());
        pnlRechts = new JPanel(new GridLayout(0, 1));
        brett.addMouseListener(this);
        pnlLinks.add(brett, BorderLayout.NORTH);
        pnlLinks.add(pool, BorderLayout.SOUTH);
        pnlRechts.add(lPlayer);
        pnlRechts.add(lAktion);
        pnlMain.add(pnlLinks, BorderLayout.WEST);
        pnlMain.add(pnlRechts, BorderLayout.EAST);
        pnlRechts.setPreferredSize(new Dimension(200, 0));
        frame.add(pnlMain);
        frame.setJMenuBar(menubar);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        initialisieren();
        try
		{
			ServerSocket server = new ServerSocket(0);
			System.out.println("Port: " + server.getLocalPort());
			initVerbindung(server.accept());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
    }
	
	public Mühle(String inetAddr, int port) {
        frame = new JFrame("Mühle");
        frame.addWindowListener(new WindowAdapter() {
 
            @Override
            public void windowClosing(WindowEvent arg0) {
                System.exit(0);
            }
        });
        brett = new Spielbrett(300, 300);
        pool = new Steinpool(300, 100);
        lPlayer = new JLabel("", 0);
        lAktion = new JLabel("", 0);
        menubar = new JMenuBar();
        mSpiel = new JMenu("Spiel");
        mOptionen = new JMenu("Optionen");
        miNeu = new JMenuItem("Neues Spiel");
        miExit = new JMenuItem("Spiel Beenden");
        mSpiel.add(miNeu);
        mSpiel.add(miExit);
        menubar.add(mSpiel);
        menubar.add(mOptionen);
        miExit.addActionListener(this);
        miNeu.addActionListener(this);
        pnlMain = new JPanel(new BorderLayout());
        pnlLinks = new JPanel(new BorderLayout());
        pnlRechts = new JPanel(new GridLayout(0, 1));
        brett.addMouseListener(this);
        pnlLinks.add(brett, BorderLayout.NORTH);
        pnlLinks.add(pool, BorderLayout.SOUTH);
        pnlRechts.add(lPlayer);
        pnlRechts.add(lAktion);
        pnlMain.add(pnlLinks, BorderLayout.WEST);
        pnlMain.add(pnlRechts, BorderLayout.EAST);
        pnlRechts.setPreferredSize(new Dimension(200, 0));
        frame.add(pnlMain);
        frame.setJMenuBar(menubar);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        initialisieren();
        try
		{
			initVerbindung(new Socket(inetAddr, port));
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
    }
 
    public void initialisieren() {
        pos1 = 26;
        pos2 = 26;
        regel = "keine";
        spielGestartet = true;
        spielZustand = new String[3];
        steineAufBrett = new int[3];
        steineImPool = new int[3];
        Random rnd = new Random();
        aktSpieler = rnd.nextInt(2) + 1;
        if (aktSpieler == 1) {
            spielZustand[1] = "SteineSetzen";
            spielZustand[2] = "SteineSetzen";
            lPlayer.setText("Weiß dran.");
            steineAufBrett[1] = 0;
            steineImPool[1] = 9;
            steineAufBrett[2] = 0;
            steineImPool[2] = 9;
            brett.spieler = 1;
            lAktion.setText(spielZustand[1]);
            
        } else {
            spielZustand[2] = "SteineSetzen";
            spielZustand[1] = "SteineSetzen";
            lPlayer.setText("Schwarz dran.");
            steineAufBrett[2] = 0;
            steineImPool[2] = 9;
            steineAufBrett[1] = 0;
            steineImPool[1] = 9;
            brett.spieler = 2;
            lAktion.setText(spielZustand[2]);
            
        }
      pool.init();
      brett.init();
    }

das gefällt mir momentan am besten...

ja, wir ihr seht, so ganz schlauer bin ich noch nich geworden...würde erstma gerne wissen wollen, ob irgendwas richtig war, ich hoffe der zweite ansatz ^^ und ja ansonsten bitte ich um Lob, Kritik, Blumensträuse ^^

grüße
 
S

SlaterB

Gast
also ich werd das nicht alles durchlesen ;) (die zwei Posts vom 17.12. auch gar nicht gesehen bisher)
kleiner Tipp: wenn du generell an den Grundlagen der Kommunikation arbeitest, dann fange mit einem simplen Programm an,
übe z.B. nur, einen einzelnen String zu übertragen und den auf allen Seiten auszugeben,
aber über Konsole, ganz ohne GUI

in deinem Code sehe ich fast nur Massen an JPanels, Menü-Punkte und langweilige Spiel-Informationen wie
> spielZustand[1] = "SteineSetzen";
> spielZustand[2] = "SteineSetzen";
(12x 'SteineSetzen' in einem Post..)

falls es später um Spiel-Details geht wär das sicher unvermeidbar,
solange du aber noch mit den Sockets an sich kämpfst ist das nur Rauschen,
ich seh gar nicht wo ein Problem besteht
 

homer65

Top Contributor
Man kann mit dem ObjectOutputStream (bzw ObjectInputStream) ganze Objecte über TCP/IP versenden. Das ist für den Programmierer sehr komfortabel.
Ob es aber auch sicher ist?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java - Socketprogrammierung Netzwerkprogrammierung 10
Q Frage zur Socketprogrammierung Netzwerkprogrammierung 12
D Socketprogrammierung Verbindung C++=>Java Netzwerkprogrammierung 23
N Threads und Socketprogrammierung Netzwerkprogrammierung 4
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
FrankenDerStein Socket UDP Multithreading für ein Port Netzwerkprogrammierung 2
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
T Brauche Hilfe beim GET-String für HttpURLConnection Netzwerkprogrammierung 4
F Server für Java Applikationen Netzwerkprogrammierung 16
B Webview für Anwendung Netzwerkprogrammierung 7
M Sicheres Login-System für App implementieren Netzwerkprogrammierung 6
J Netty umsetzung für ein Protokoll Netzwerkprogrammierung 1
J ERM für kleine Verwaltungsdatenbank Netzwerkprogrammierung 2
H Machbarkeitsfrage: TCP/IP Client (z.B. Netty) für Java Web Applcation Netzwerkprogrammierung 1
Messoras Launcher für mein Spiel Netzwerkprogrammierung 7
F Einfaches Gateway für Log-Files Netzwerkprogrammierung 1
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
P PPTP Protokoll für JAVA Netzwerkprogrammierung 14
T FTP Wie Notwendigkeit für "rekey" klientenseitig detektieren? Netzwerkprogrammierung 3
S Webserver für Jar File Netzwerkprogrammierung 4
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
V Templates für Java Client rabbitmq Netzwerkprogrammierung 4
M Erreichbar für alle zu sein Netzwerkprogrammierung 9
M Server nur für eine Aufgabe Netzwerkprogrammierung 2
N Selbes URL Objekt für alle Requests nutzen Netzwerkprogrammierung 7
T uberspace.de als (v)root-Ersatz für kleinere Java-Anwendungen? Netzwerkprogrammierung 12
L Proxy für Dateidownload? Netzwerkprogrammierung 3
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
D Socket Leitstelle für Funkspiel Netzwerkprogrammierung 8
F Java-Beispielcode für Zeroconf (ähnlich Apple Bonjour) Netzwerkprogrammierung 7
I HTTP S - Zertifikate+Cockies für Form-basierten Login Netzwerkprogrammierung 2
Ollek Socket Sucher passende Server/Client Lösung für meine Anwendung Netzwerkprogrammierung 2
M Gleicher Port für Senden und Empfangen ? Netzwerkprogrammierung 17
N RMI Einstellungen für "übers Internet" Netzwerkprogrammierung 8
F SSL-Zertifikate für viele Nutzer? Netzwerkprogrammierung 8
K Byte für Byte aus InputStream lesen Netzwerkprogrammierung 5
S wie stell man die classpath für JARs? Netzwerkprogrammierung 3
M Bestimmte Klassen für Netzwerkchecks gesucht Netzwerkprogrammierung 11
M ClassLoader für Axis2 setzen Netzwerkprogrammierung 15
M Welches Speicherformat für News-Database?? Netzwerkprogrammierung 2
Shoox VPN-Verbindung für Datenbankzugriff Netzwerkprogrammierung 2
P Proxy für Anwendung setzten Netzwerkprogrammierung 3
T Bezeichner "end of line" für die Funktion readline Netzwerkprogrammierung 5
A DataGramsocket Übertragungsproblem im Internet (IPs für Voip) Netzwerkprogrammierung 5
E Userliste für Chat Applet Netzwerkprogrammierung 4
S HTTP Kleines Programm für den Routerneustart Netzwerkprogrammierung 3
L Zeitspanne für erneutes senden Netzwerkprogrammierung 16
L Socket Chat Server für mehrere Clients Netzwerkprogrammierung 7
F Netzwerkprogrammierung für Anfänger Netzwerkprogrammierung 2
J Framework/ Muster für Chat-ähnliches Programm gesucht Netzwerkprogrammierung 2
B Variablen ausrichten für Übertragung Netzwerkprogrammierung 2
D FTP Pfadangabe für ftp-upload funktioniert nicht Netzwerkprogrammierung 5
K Getrennte Rechner für RMI-Server/RMI-Registry, bzw. Alternativen? Netzwerkprogrammierung 5
dayaftereh HTTPCleint und HTMLparser für hTTpBot Netzwerkprogrammierung 2
E Socket Client-Applikation mit GUI für Internet IO-Platine Netzwerkprogrammierung 2
0din Grundlage für Bluetooth Netzwerkprogrammierung 5
F Empfehlung für embedded Webserver Netzwerkprogrammierung 10
W Bibliothek für Certificate Management Protocol (CMP) Netzwerkprogrammierung 3
O Client/Server für Ticker Netzwerkprogrammierung 2
J Stubs für SOAP-Webservice generieren. Ich bekomme es einfach nicht hin... Netzwerkprogrammierung 3
dayaftereh Bester Stream für ein Spiel? Netzwerkprogrammierung 15
data89 Sockets: ein alter Hut - für Euch - für mich nicht! Netzwerkprogrammierung 10
G FileDialog für FTP Client Netzwerkprogrammierung 2
P Welches Protokoll für RMI verwenden? Netzwerkprogrammierung 10
H RCON Tool für Gameserver Netzwerkprogrammierung 11
A Wichtig für einen Chat? Netzwerkprogrammierung 4
D Was für Verbindungen mit Socket möglich? Netzwerkprogrammierung 2
S Realisierung eines Netzwerkcodes für ein Strategiespiel Netzwerkprogrammierung 7
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
W Was für ein Stream soll ich verwenden? Netzwerkprogrammierung 8
A Rezept für Webservices Netzwerkprogrammierung 5
I unc pfad für die klasse file? Netzwerkprogrammierung 4
P eine BufferedReader für alles ankommende Netzwerkprogrammierung 2
T Filter für Input UND OutputStream Netzwerkprogrammierung 4
T Welches Netzwerk ist am bestern für. Netzwerkprogrammierung 2
G server für mein spiel. Netzwerkprogrammierung 5
M Log In Programm für Seiten Netzwerkprogrammierung 2
G Netzwerkprogrammierung für spiele Netzwerkprogrammierung 2
A IRC-Server für das lokale Netzwerk? Netzwerkprogrammierung 12
C Einfacher Filedownload mit Sockets geht nicht für pdffiles Netzwerkprogrammierung 16
S Server für Internetspiel Netzwerkprogrammierung 2
G Objecte für Kommunikation nutzen Netzwerkprogrammierung 2
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
S Voreinstellungen für JavaMail Netzwerkprogrammierung 2
S Idee für Projekt auf Agentenbasis Netzwerkprogrammierung 8
S Suche API für einfachen HTTP-Zugriff. Netzwerkprogrammierung 17
G benötige Beispiel für parallel ablaufende Threads Netzwerkprogrammierung 3
M RMI - Ein Objekt für Alle? Netzwerkprogrammierung 5
Z Protokoll für Schiffeversenken Netzwerkprogrammierung 5
T Kann man jeden Port für Programm verwenden? Netzwerkprogrammierung 2
R proxy für java anwendung angeben [resolved] Netzwerkprogrammierung 15
B Wie Router einstellen für CLient-Server-Programm? Netzwerkprogrammierung 4
R PPTP Protokoll für JAVA Netzwerkprogrammierung 3
Icewind Klasse für DNS Anfragen Netzwerkprogrammierung 14
P Welche Art von Sockets für ein Spiel? Netzwerkprogrammierung 3
M Socket Verbindungen für einen Chat Netzwerkprogrammierung 10
M Ausgangsport für FTp-Connection festlegen??? Netzwerkprogrammierung 3
D beste Methode für Datenübertragung ? Netzwerkprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben