Netzwerkrprogammierung Client - Server

Status
Nicht offen für weitere Antworten.

John_J

Mitglied
Hallo,

also ich hab ein Verständisprobleme bei einer Aufgabe. Der Client soll dem Server, inneralb einer for schleife die zahlen 0-10 weitergeben, der server soll dann jeweils 0*0 , 1*1 bis 10*10 berechnen und es dem Client zurückgeben, leider bekomme ich das nicht so hin wie ich es haben will, kann mir da einer vielleicht helfen.

hier meine Codes:

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

public class MulServer2
{
  private static void handleConnection( Socket client ) throws IOException
  {
    InputStream  in  = client.getInputStream();
    OutputStream out = client.getOutputStream();

   int c;
   
   while( (c = in.read()) != -1 )
   {



     int factor1 = in.read();
     int factor2 = in.read();

     out.write( factor1 * factor2 );







    }






  }

  public static void main( String[] args ) throws IOException
  {
    ServerSocket server = new ServerSocket( 3141 );

    while ( true )
    {
      Socket client = null;

      try
      {
        client = server.accept();
        handleConnection ( client );
      }
      catch ( IOException e ) {
        e.printStackTrace();
      }
      finally {
        if ( client != null )
          try { client.close(); } catch ( IOException e ) { }
      }
    }
  }
}

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

class MulClient2
{
  public static void main( String[] args )
  {
    Socket server = null;

    try
    {
      server = new Socket( "localhost", 3141 );
      InputStream  in  = server.getInputStream();
      OutputStream out = server.getOutputStream();


       for(int i=0; i<10; i++)
       {
        out.write(i);
        out.write(i);
       }









      int k;


      /*out.write( 4 );
      out.write( 9 );        */

       while( (k = in.read()) != -1 )
    {

       int result = in.read();
      System.out.println( result );








      }


    }
    catch ( UnknownHostException e ) {
      e.printStackTrace();
    }
    catch ( IOException e ) {
      e.printStackTrace();
    }
    finally
    {
      if ( server != null )


        try { server.close(); } catch ( IOException e ) { }
    }
  }
}
 
S

SlaterB

Gast
Code:
public class Test {

	public static void main(String[] args) {

		new Thread() {
			public void run() {
				try {
					MulServer2.main(null);
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

		}.start();
		new Thread() {
			public void run() {
				try {
					Thread.sleep(400);
					MulClient2.main(null);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}

		}.start();
	}
}

class MulServer2 {
	private static void handleConnection(Socket client) throws IOException {
		InputStream in = client.getInputStream();
		OutputStream out = client.getOutputStream();

		int c;

		while ((c = in.read()) != -1) {

			int factor1 = c;
			int factor2 = in.read();
			System.out.println("read: " + factor1 + ", " + factor2);
			out.write(factor1 * factor2);
			out.flush();
		}

	}

	public static void main(String[] args) throws IOException {
		ServerSocket server = new ServerSocket(3141);

		while (true) {
			Socket client = null;

			try {
				client = server.accept();
				handleConnection(client);
			} catch (IOException e) {
				e.printStackTrace();
			} finally {
				if (client != null)
					try {
						client.close();
					} catch (IOException e) {
					}
			}
		}
	}
}

class MulClient2 {
	public static void main(String[] args) {
		Socket server = null;

		try {
			server = new Socket("localhost", 3141);
			InputStream in = server.getInputStream();
			OutputStream out = server.getOutputStream();

			for (int i = 0; i < 10; i++) {
				System.out.println("write " + i);
				out.write(i);
				out.write(i);
				out.flush();
			}

			int k;

			/*
			 * out.write( 4 ); out.write( 9 );
			 */

			while ((k = in.read()) != -1) {

				int result = k;
				System.out.println(result);

			}

		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (server != null)

				try {
					server.close();
				} catch (IOException e) {
				}
		}
	}
}
funktioniert in diesem Fall aber sollte noch dringend geändert werden:
in.read() liest nur ein Byte, einen Wert 0-255,
wenn du einen großen Integer 45379079 sendest, so sind das bis zu 4 Bytes, die einzeln eingelesen werden,
verwende lieber DataInputStream und readInt()
 

John_J

Mitglied
hallo,

ich hab so gemacht, wie du es gemeint hast.... jetzt spackt er aber voll ab, :-( kommen komische zahlen raus....

was müsste ich bei Double machen, kannste mir dabei auch helfen ... sry für die dummen Fragen :-( ... hab in 3 wochen ne wichtige Prüfung .... und Client/Server + Threads muss ich gut beherrschen.




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

class MulServer4 {
   private static void handleConnection(Socket client) throws IOException {
      InputStream in = client.getInputStream();
      OutputStream out = client.getOutputStream();
       DataInputStream in1= new DataInputStream(in);

      int c;

      while ((c = in1.readInt()) != -1) {

         int factor1 = c;
         int factor2 =in1.readInt();
         int factor3 =in1.readInt();
         System.out.println("read: " + factor1 + ", " + factor2);
         out.write(factor1 * factor2*factor3);
         out.flush();
      }

   }

   public static void main(String[] args) throws IOException {
      ServerSocket server = new ServerSocket(3141);

      while (true) {
         Socket client = null;

         try {
            client = server.accept();
            handleConnection(client);
         } catch (IOException e) {
            e.printStackTrace();
         } finally {
            if (client != null)
               try {
                  client.close();
               } catch (IOException e) {
               }
         }
      }
   }
}

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

class MulClient4 {
   public static void main(String[] args) {
      Socket server = null;

      try {
         server = new Socket("localhost", 3141);
         InputStream in = server.getInputStream();
         DataInputStream in1= new DataInputStream(in);
         OutputStream out = server.getOutputStream();

         for (int i = 0; i < 10; i++) {
            System.out.println("write " + i);
            out.write(i);
            out.write(i);
            out.write(i);
            out.flush();
         }

         int k;

         /*
          * out.write( 4 ); out.write( 9 );
          */

         while ((k = in1.readInt()) != -1) {

            int result = k;
            System.out.println(result);

         }

      } catch (UnknownHostException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      } finally {
         if (server != null)

            try {
               server.close();
            } catch (IOException e) {
            }
      }
   }
   
 }
 
S

SlaterB

Gast
ok, write(int) schreibt auch nur ein Byte, wie in der API zu der Methode nachzulesen,
du brauchst analog auch einen DataOutputStream und die Methode writeInt statt write
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
A Server - Client Nachrichtenaustausch über Eventbus Java Basics - Anfänger-Themen 12
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Java Client-je nach Heap Size Größe startet Applikation oder nicht 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
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
A Client-Server Kommunikation Java Basics - Anfänger-Themen 3
I Client ObjectInputStream error... Java Basics - Anfänger-Themen 5
W Client verbindet sich nicht Java Basics - Anfänger-Themen 14
B Email Client in der eigenen Software einbauen Java Basics - Anfänger-Themen 3
S Server - für jeden Client ein Serverthread Java Basics - Anfänger-Themen 2
E SocketServer/Client stürzt ab. Address already in use. Java Basics - Anfänger-Themen 2
I Wann ist Client plattformunabhängig? Java Basics - Anfänger-Themen 22
E MCLauncher eigener Client workt nicht? Java Basics - Anfänger-Themen 4
L Erste Schritte Erste Versuche mit Server und Client Java Basics - Anfänger-Themen 7
elischa Client-Server IO und Stream Steuerung ? Java Basics - Anfänger-Themen 2
I Print Client -> Server -> Client? Java Basics - Anfänger-Themen 1
I Unique client information in WebApp Java Basics - Anfänger-Themen 3
I lokales Programm mit Client/Server Programm kommunizieren Java Basics - Anfänger-Themen 3
J TCP MultiThreaded Server und Client - irgendwo ist der Fehler, aber ich find ihn nicht Java Basics - Anfänger-Themen 3
Joew0815 Error org.apache.xmlrpc.client.XmlRpcClientConfigImpl.setUserAgent Java Basics - Anfänger-Themen 2
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
K Java Client > Python Server Java Basics - Anfänger-Themen 0
O Verriegeln, aber wo? Finde den Client der zu schließem ist. Java Basics - Anfänger-Themen 0
S Java - Client/Server mit Stomp kurze Frage Java Basics - Anfänger-Themen 0
T Buffererwriter keine Exception obwohl Client weg Java Basics - Anfänger-Themen 2
E Client Server Java Basics - Anfänger-Themen 12
H Einfache Client/Server-Kommunikation Java Basics - Anfänger-Themen 16
O Server Client Problem Java Basics - Anfänger-Themen 2
N Client soll mehrere Antworten von Servern gleichzeitig empfangen Java Basics - Anfänger-Themen 8
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
L Server pingt Client und fordert Info Java Basics - Anfänger-Themen 2
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
E Senden von Objects an Client. Variablenwerte kommen nicht an Java Basics - Anfänger-Themen 5
R Server/Client für Spiel Java Basics - Anfänger-Themen 2
E Client hilfe!!! Java Basics - Anfänger-Themen 7
B RMI - Fehlermeldung auf dem Client Java Basics - Anfänger-Themen 6
X Applet - Client/Server Java Basics - Anfänger-Themen 2
E Client ergibt NULL? Java Basics - Anfänger-Themen 24
E Socket (Client) dauerhaft aktiv? Java Basics - Anfänger-Themen 9
E HTTP Client - Login durchführen? Java Basics - Anfänger-Themen 4
L Ip-Adresse für Client Java Basics - Anfänger-Themen 14
L Bild versenden über Client/Server Java Basics - Anfänger-Themen 10
L Wegwerf Client Java Basics - Anfänger-Themen 26
S Klassen Server und Client Java Basics - Anfänger-Themen 3
M Client - DB-Server Struktur Java Basics - Anfänger-Themen 7
L Client aktualisieren Java Basics - Anfänger-Themen 6
U Probleme mit Server-Client implementierung Java Basics - Anfänger-Themen 5
G Server-Client Kommunikation Java Basics - Anfänger-Themen 3
J DNS-Client Java Basics - Anfänger-Themen 2
J Simpler DNS Client Java Basics - Anfänger-Themen 20
Z Tomcat Server Kommunikation zu Client Applet Java Basics - Anfänger-Themen 5
B Server-Client mit Thread ausstatten Java Basics - Anfänger-Themen 3
D Client-Server Problem Java Basics - Anfänger-Themen 2
J Netzwerkprogrammierung Client/Server Java Basics - Anfänger-Themen 16
G ArrayListe vom Server nach Client schicken Java Basics - Anfänger-Themen 17
M Flexiblen Client programmieren Java Basics - Anfänger-Themen 2
G JMS -> Wie Anmeldung vom Client an Server? Java Basics - Anfänger-Themen 4
S Webservice: Dateien downloaden vom Webserver auf den Client Java Basics - Anfänger-Themen 7
G Ausg. in JSP erzeugen die als Antwort an Client gesch. wird Java Basics - Anfänger-Themen 2
I Server / Client Programm wie einen String übergeben? Java Basics - Anfänger-Themen 6
K Client-Liste im Chat Java Basics - Anfänger-Themen 2
B Client - Server Verbindung über sockets mysql DB ansprechen? Java Basics - Anfänger-Themen 6
G Java Server Client Programmierung Java Basics - Anfänger-Themen 3
B Bild/Datei von einem Server an einen Client senden Java Basics - Anfänger-Themen 6
A Problem mit Ausgabe einer Liste über einen Client Java Basics - Anfänger-Themen 5
rambozola zugriff auf client bei j2ee anwendung Java Basics - Anfänger-Themen 10
G Mail Client öffnen Java Basics - Anfänger-Themen 9
D Server/Client Java Basics - Anfänger-Themen 8
T Datei über UDP verschicken . Speicherprobleme am Client Java Basics - Anfänger-Themen 4
H Server Client, es kommt nichts an. Java Basics - Anfänger-Themen 5
R client-applikation? Java Basics - Anfänger-Themen 5
G [Hilfe] Fileupload: Client-Server Java Basics - Anfänger-Themen 9
S Server/Client Verbindung Java Basics - Anfänger-Themen 2
G Dateidownload Client-Server (jsp) Java Basics - Anfänger-Themen 4
G Zugriff vom 'Server auf Client' Java Basics - Anfänger-Themen 4
S smtp-Client programmieren Java Basics - Anfänger-Themen 9
S Client-Server Java Basics - Anfänger-Themen 18
X client soll bat auf server ansprechen Java Basics - Anfänger-Themen 7
C client/server programm fehler ! Java Basics - Anfänger-Themen 20
F Wie kommen die Applets zum Client? Java Basics - Anfänger-Themen 7
C string über server/client verbindung senden ? Java Basics - Anfänger-Themen 4
T Client-Authentifizierung Java Basics - Anfänger-Themen 6
K [servcer/Client] Suche Server /Client Tutorial. Java Basics - Anfänger-Themen 2
G http client Java Basics - Anfänger-Themen 4
FireHorses Benutzernamen aus PrivateChannel(Interaction) auf Server bringen Java Basics - Anfänger-Themen 0
HolyFUT Best Practice Architektur WebSocket Server Java Basics - Anfänger-Themen 1
S Server Java Basics - Anfänger-Themen 4
S Server Java Basics - Anfänger-Themen 3
M CS GO Server mit Java steuern Java Basics - Anfänger-Themen 3
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
B DHCP-Server Adresse ermitteln Java Basics - Anfänger-Themen 4
F Mehrere Server Sockets in einer Anwendung Java Basics - Anfänger-Themen 9
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
W Netwerkprogrammierung und Http Server Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben