Java Senden von variablen bei TCPServer

Kennst du denn das Prinzip hinter TCP und wie man es in Java benutzt? (Stichwort Sockets, Streams) Ansonsten benutz einfach Google, da gibts gefühlt tausende tutorials zu Java und Sockets.
 
Hier der code :
Code:
import java.io.*;
import java.net.*;

class TCPServer {
    public static void main(String argv[]) throws Exception { 

        int x = 0;
        int y = 0;
        


        String clientSentence;         
        String capitalizedSentence;          
        ServerSocket welcomeSocket = new ServerSocket(6789);         

        while(true) {             
            Socket connectionSocket = welcomeSocket.accept();                 
            BufferedReader inFromClient =                
            new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));             
            DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());            
            clientSentence = inFromClient.readLine();

            if (clientSentence.equals("left")) {
                x = x-1; 
            }

            if (clientSentence.equals("right")) {
                x = x+1; 
            }

            if (clientSentence.equals("up")) {
                y = y+1; 
            }

            if (clientSentence.equals("down")) {
                y = y-1; 
            }
                System.out.println(x);
                System.out.println(y);

                       
            System.out.println("Received: " + clientSentence);
            capitalizedSentence = clientSentence.toUpperCase()+ '\n';            
            outToClient.writeBytes(clientSentence);        
        }    
    }
}
und ich verstehe schon was und Google ist immer meine erste wahl !
 
Zuletzt bearbeitet:
Wenn du die Variablen an den 'clientSentence'-String anhängst, wird deren Inhalt mitgesendet. Du solltest dir aber gedanken über ein geeignetes Protokoll machen (z.B. JSON), sonst endet sowas gerne im Chaos ;-).
 
phm666 schrieb:
Wenn du die Variablen an den 'clientSentence'-String anhängst, wird deren Inhalt mitgesendet. Du solltest dir aber gedanken über ein geeignetes Protokoll machen (z.B. JSON), sonst endet sowas gerne im Chaos ;-).

JSON ist doch kein Protokoll, sondern nur eine Methode, Daten zu repräsentieren. :/
 
asdfman schrieb:
JSON ist doch kein Protokoll, sondern nur eine Methode, Daten zu repräsentieren. :/

Das kommt darauf an, was er daraus macht. HTTP ist auch nur Plain Text via TCP. Fügt er ein paar Metainformationen dazu, dann könnte er schon von einem kleinen Protokoll reden. JSON selbst ist natürlich kein Protokoll, das hat dein Vorredner unglücklich formuliert. In seinem eigenen Protokoll könnte er aber durchaus JSON einsetzen (vgl. JSON-RPC, XMPP mit XML etc.).
 
Zuletzt bearbeitet:
Zurück
Oben