T
tsag
Gast
Hallo,
ich versuche gerade, mein Programm Netzwerkfähig zu machen. Leider ist das nicht so einfach, wie ich dachte. Ich habe mir als Vorlage den Code aus Java ist auch eine insel genommen, genau genommen diese Seite: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 18.8 Client-Server-Kommunikation
Ich habe zuerst MulServer und MulClient, so wie sie da aufgeführt sind, ausgeführt und es hat alles funktioniert. Da ich aber eine Netzwerkverbindung in meinem bestehenden Programm haben möchte (welches schon eine main-klasse besitzt), habe ich den MulServer modifiziert so modifiziert:
und habe ihn (zum Test) direkt an den Anfang meiner Mainklasse gepackt mit
Dann habe ich versucht, mit den Clienten zu verbinden, aber es hat nicht funktioniert. Ich habe auch schon einige andere Dinge ausprobiert, aber es hat nichts funktioniert. Eigentlich wollte ich den Server ins actionPerformed eines JButtons packen, aber das hat genausowenig funktioniert wie mit der Mainklasse. Könnt ihr mir sagen was ich falsch mache?
ich versuche gerade, mein Programm Netzwerkfähig zu machen. Leider ist das nicht so einfach, wie ich dachte. Ich habe mir als Vorlage den Code aus Java ist auch eine insel genommen, genau genommen diese Seite: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 18.8 Client-Server-Kommunikation
Ich habe zuerst MulServer und MulClient, so wie sie da aufgeführt sind, ausgeführt und es hat alles funktioniert. Da ich aber eine Netzwerkverbindung in meinem bestehenden Programm haben möchte (welches schon eine main-klasse besitzt), habe ich den MulServer modifiziert so modifiziert:
Java:
import java.io.*;
import java.math.BigInteger;
import java.net.*;
import java.util.Scanner;
public class MulServer extends Thread
{
private static void handleConnection( Socket client ) throws IOException
{
Scanner in = new Scanner( client.getInputStream() );
PrintWriter out = new PrintWriter( client.getOutputStream(), true );
String factor1 = in.nextLine();
String factor2 = in.nextLine();
out.println( new BigInteger(factor1).multiply( new BigInteger(factor2) ) );
}
public void run()
{
ServerSocket server = null;
try {
server = new ServerSocket( 3141 );
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
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 ) { }
}
}
}
}
und habe ihn (zum Test) direkt an den Anfang meiner Mainklasse gepackt mit
Java:
public static void main(String[] args) {
MulServer server = new MulServer();
server.start();
....
}
Dann habe ich versucht, mit den Clienten zu verbinden, aber es hat nicht funktioniert. Ich habe auch schon einige andere Dinge ausprobiert, aber es hat nichts funktioniert. Eigentlich wollte ich den Server ins actionPerformed eines JButtons packen, aber das hat genausowenig funktioniert wie mit der Mainklasse. Könnt ihr mir sagen was ich falsch mache?