tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1108
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    _streissi _streissi ist offline Mitglied
    Registriert seit
    Feb 2009
    Ort
    Scheibbs (Niederösterreich)
    Beiträge
    11
    Erstmal hallo
    bin neu hir xD

    und jt auch gl zu meiner frage:
    ich muss ein Programm schreiben wo man chatten kann und Daten übertragen. Die Daten müssen nicht groß sein gerade mal Bilder, Dokumente etc. Das chatten hab ich schon mit Socket und ServerSocket und dann nen BufferedReader und Writer nur weiss ich nicht wie ich jt die Daten übertragen kann brauch ich da noch nen eigenen Socket oder geht das auch mit nur einen.


    hoffe ihr könnt mit meinem geschreibsel was anfangen

    mfg streissi
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Ich verstehe die Frage nicht ganz. Du hast Sockets, und weißt nicht was du damit anfangen sollst?

    Server:

    1. mal Serversocket mit Port als Parameter.
    Methode accept aufrufen, wartet auf Verbindung und gibt nen Socket zurück.

    Client:

    1. mal Socket mit IP und Port als Parameter.

    Ein Thread der Daten empfängt und darauf reagieren soll:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    
    package ingame.client;
     
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.Socket;
     
    public final class WaitForData extends Object implements Runnable
    {
        private Socket socket;
        
        public WaitForData(Socket socket)
        {
            super();
            
            this.socket = socket;
        }
        public void run()
        {
            while(true)
            {
                String data = this.readData();
                String[] dataSplit = data.split("/");
                
                if(dataSplit[0].equals("Command ect."))
                    this.tuewas;
            }
        }
        private String readData()
        {
            final int bufferlenght = 1024;
            char[] buffer;
            String data = null;
            BufferedReader bufferedReader;
            
            try
            {
                int charCount = 0;
                buffer = new char[bufferlenght];
                bufferedReader = new BufferedReader(
                        new InputStreamReader(
                                this.socket.getInputStream()));
     
                charCount = bufferedReader.read(buffer, 0, 1024);
                data = new String(buffer, 0, charCount);
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            
            return(data);
        }
    }
    Statische Methode zum versenden von Befehlen:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    package ingame.client;
     
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
     
    public final class Send extends Object
    {
        public Send()
        {
            super();
        }
        public final static void send(String string, java.net.Socket socket)
        {
            PrintWriter printWriter = null;
            try
            {
                printWriter = new PrintWriter(
                        new OutputStreamWriter(
                                socket.getOutputStream()));
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            printWriter.print(string);
            printWriter.flush();
        }
    }
     

  3. #3
    _streissi _streissi ist offline Mitglied
    Registriert seit
    Feb 2009
    Ort
    Scheibbs (Niederösterreich)
    Beiträge
    11
    danke für deine schnelle antwort

    ja hab Sockets und sry wenn ich mich unverständlich ausgedrückt habe lerne Java erst seit 2-3 Monate und arbeite mich da immer wieder ein nur manches verstehe ich net, hab auch schon vergleichbares gesucht.

    Den chatt sprich die kommunikation mittels String hab ich schon das funktioniert alles. Nur meine frage war wie ich jt Daten wie Bilder, Documente usw. an den anderen schicke und ob ich da noch einen zweiten Socket brauche oder nicht?


    mfg
    Geändert von _streissi (16.02.09 um 20:39 Uhr)
     

  4. #4
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Ach so.
    Vielleicht hilft dir das:
    http://www.devx.com/tips/Tip/5569

    Und dazu das Java-ist-auch-eine-Insel-openbook über Persistente Objekte, Serialisierung, Deserialisierung, ObjectOutputStream ect.
     

  5. #5
    _streissi _streissi ist offline Mitglied
    Registriert seit
    Feb 2009
    Ort
    Scheibbs (Niederösterreich)
    Beiträge
    11
    Danke für den Link zu den openbook Java ist auch eine Insel
    hat mir sehr geholfen und hab auch noch andere Interessante Themen gefunden.


    mfg streissi
     

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 21.05.08, 15:38
  2. Antworten: 2
    Letzter Beitrag: 30.01.08, 10:24
  3. server Socket Datenaustausch
    Von draig im Forum Java
    Antworten: 2
    Letzter Beitrag: 10.01.07, 22:48
  4. Antworten: 2
    Letzter Beitrag: 03.12.04, 15:59
  5. Chat Socket Problem
    Von P@d3 im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 30.06.03, 10:41

Stichworte