ICR Chat - Serveranbindung

Status
Nicht offen für weitere Antworten.

Buschwurzel

Neues Mitglied
Hi,

ich hab eine, vermutlich echt peinliche Frage...
Ich muss für ein Uni-Projekt eine Java Server Anbindung für
einen ICR Chat programmieren... leider hab ich von Java ungefähr
so viel Ahnung wie vom Perlentieftauchen.
Ich finds super interessant, bin aber gänzlich unbegabt was das angeht..

Bei Sun habe ich mir bereits das Tutorial angeschaut, mir übersetzt und es
Schritt für Schritt durchgearbeitet...
Hier mal das (vielleicht) fertige Programm:

Java:
import java.net.*;
import java.io.*;

public class KnockKnockServer {
    public static void main(String[] args) throws IOException {
        
        ServerSocket serverSocket = null;
        try {
            serverSocket = new ServerSocket(4444);
        }
        catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            System.exit(1);
        }
        
        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
        }
        catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        }
        
        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(
                                               new InputStreamReader(
                                                                     clientSocket.getInputStream()));
        String inputLine, outputLine;
        KnockKnockProtocol kkp = new KnockKnockProtocol();
        
        outputLine = kkp.processInput(null);
        out.println(outputLine);
        
        while ((inputLine = in.readLine()) != null) {
            outputLine = kkp.processInput(inputLine);
            out.println(outputLine);
            if (outputLine.equals("Bye."))
                break;
        }
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
    }
}

Unser Dozent meinte, das Programm sei schon fast vollständig.
Nun aber meine Frage, wie funktioniert das ?
Wie kann ich es überhaupt starten und sehen das es funktioniert ?
Und, welche Informationen brauche ich noch...also gegebenenfalls Port Numbers oder sowas...

Ich weiß, sowas hängt euch bestimmt zum Hals raus und ihr langweilt euch damit, aber
es wäre mir wirklich eine seeeeehr große Hilfe.

Danke schon mal !!!!
Buschwurzel
 
Zuletzt bearbeitet von einem Moderator:
G

Gelöschtes Mitglied 5909

Gast
was ist den KnockKnockProtocol??

Willst du einen IRC Client oder einen Server Programmieren?

Zum starten rufe aus der Konsole folgendes auf:

javac KnockKnockServer.java

java KnockKnockServer

von uns kann das keiner ohne KnockKnockProtocol starten und mit IRC hat das imo nichts zu tun
 

Buschwurzel

Neues Mitglied
Oh je... ich habs gewusst... ich hab so wenig Ahung davon, dass ich nicht mal die richtigen Fragen stellen kann...

Okay, also was ich rausgefunden habe ist:

Ich muss zwei seperate Programme schreiben, eins für den Client, eins für den Server.
Die beiden hab ich im Prinzip auch schon. Das Protocol DingsDa dient zur Kommunikation der beiden untereinander...

So sehen jetzt meine beiden Programme aus:
---------------
Für den Client:
---------------
Java:
import java.io.*;
import java.net.*;

public class KnockKnockClient {
    public static void main(String[] args) throws IOException {

        Socket kkSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            kkSocket = new Socket("taranis", 6660);
            out = new PrintWriter(kkSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: taranis.");
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: taranis.");
            System.exit(1);
        }

        BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
        String fromServer;
        String fromUser;

        while ((fromServer = in.readLine()) != null) {
            System.out.println("Server: " + fromServer);
            if (fromServer.equals("Bye."))
                break;
            
            fromUser = stdIn.readLine();
        if (fromUser != null) {
                System.out.println("Client: " + fromUser);
                out.println(fromUser);
        }
        }

        out.close();
        in.close();
        stdIn.close();
        kkSocket.close();
    }
}
--------------------
und für den Server:
--------------------
Java:
// KnockKnockServer - Teil 
import java.net.*;
import java.io.*;

public class KnockKnockServer {
    public static void main(String[] args) throws IOException {
        
        ServerSocket serverSocket = null;
        try {
            serverSocket = new ServerSocket(6660);
        }
        catch (IOException e) {
            System.err.println("Could not listen on port: 6660.");
            System.exit(1);
        }
        
        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
        }
        catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        }
        
        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(
                                               new InputStreamReader(
                                                                     clientSocket.getInputStream()));
        String inputLine, outputLine;
        KnockKnockProtocol kkp = new KnockKnockProtocol();
        
        outputLine = kkp.processInput(null);
        out.println(outputLine);
        
        while ((inputLine = in.readLine()) != null) {
            outputLine = kkp.processInput(inputLine);
            out.println(outputLine);
            if (outputLine.equals("Bye."))
                break;
        }
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
    }
}

KnockKnock ist dabei nur so ein bekloppter Beispielname...

So, und jetzt muss ich ja irgend was mit den beiden Programmen anfangen können..
ich frage mich jetzt nur... was ?? Muss ich sie einfach in einer Programmierumgebung (z.B. Joe oder EJE) ganz normal Compilieren und starten ?

Orientiert bzw. einfach nur geklaut hab ich das ganze von:
Writing the Server Side of a Socket (The Java™ Tutorials > Custom Networking > All About Sockets)

Ich muss doch überhaupt erst mal einen Server haben, auf dem ich das testen kann, oder ?

Aber danke schon mal, dass sich überhaupt jemand mit dem leidigen Thema beschäftigt :)

PS: @Ebenius: danke fürs abändern :)
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
D Verbesserungsvorschläge zur Struktur einer Client Server Desktop Chat App Java Basics - Anfänger-Themen 24
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
M Chat Programm in Java Java Basics - Anfänger-Themen 1
A Schimpfwortfilter im Chat-Programm Java Basics - Anfänger-Themen 2
T Chat ingame Java Basics - Anfänger-Themen 3
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
O euer chat hier Java Basics - Anfänger-Themen 1
O Ein einfacher Chatbot (simuliert chat) Java Basics - Anfänger-Themen 7
R Problem mit Java-Chat Java Basics - Anfänger-Themen 2
L Chat server Java Basics - Anfänger-Themen 4
L Kleiner erster p2p-Chat Problem Java Basics - Anfänger-Themen 2
D Wie den HTML-Teil des Chat Tutorials aus dem FAQ-Bereich starten? Java Basics - Anfänger-Themen 5
1 Chat im Browser Java Basics - Anfänger-Themen 16
G Chat-Nachrichtenübermittlung ? Java Basics - Anfänger-Themen 2
S Frage Chat programm bauen Java Basics - Anfänger-Themen 5
K Fertiger Chat Java Basics - Anfänger-Themen 4
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
A java chat vor DDOs schützen Java Basics - Anfänger-Themen 18
L Eine Art Chat Java Basics - Anfänger-Themen 28
M NumberFormatException Chat WordPress Java Basics - Anfänger-Themen 13
xDarkSunx Java Chat Hilfe Java Basics - Anfänger-Themen 9
Y chat programm im internet realisieren Java Basics - Anfänger-Themen 5
? Chat-Source Java Basics - Anfänger-Themen 17
U2nt Mein Chat Java Basics - Anfänger-Themen 10
E Chat Fehler Applet Java Basics - Anfänger-Themen 8
C Java Chat Tutorials Java Basics - Anfänger-Themen 1
K Bestehenden Chat modifizieren (noch ein Anfänger!) Java Basics - Anfänger-Themen 7
S Chat-Server Java Basics - Anfänger-Themen 6
M irc-chat logging Java Basics - Anfänger-Themen 14
A Im Chat eigenen Beitrag in Farbe zeigen Java Basics - Anfänger-Themen 8
K Client-Liste im Chat Java Basics - Anfänger-Themen 2
Séby777 Chat für Schulklasse Java Basics - Anfänger-Themen 2
I Liste in Java (Chat-Frage) Java Basics - Anfänger-Themen 3
A Möchte Java - Chat in meine Homepage einbinden. Java Basics - Anfänger-Themen 4
J Java-Chat geht nicht | Brauche dringent hilfe! Java Basics - Anfänger-Themen 3
S Java-Chat und Smilies Java Basics - Anfänger-Themen 8
A Java Chat Bauen !?!? Java Basics - Anfänger-Themen 10
S Chat entwickeln. Java Basics - Anfänger-Themen 11
lomtas Chat in Java Java Basics - Anfänger-Themen 3
C Erstes kleines Problem - string in chat ? Java Basics - Anfänger-Themen 9
D Smilies im chat Java Basics - Anfänger-Themen 6
J Problem mit java-basiertem Chat Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben