Hallo,
ich würde gerne über die öffentliche IP eine Verbindung zwischen zwei Computern aufbauen und darüber dann Daten austauschen. Ich habe schon ein kleines Programm dazu geschrieben:
Die Klasse Client:
Die Klasse Server:
Auf PC A wird dann der Server gestartet:
Auf dem anderen PC anschließend der Client, der sich zum Server verbinden soll und einen Outputstream übertragen soll:
Wieso erhalte ich wohl folgende Fehlermeldung:
Die IP habe ich mir eine Minute vorher erst angeschaut.
Ich hoffe, ihr könnt mir weiterhelfen.
Danke schonmal.
ich würde gerne über die öffentliche IP eine Verbindung zwischen zwei Computern aufbauen und darüber dann Daten austauschen. Ich habe schon ein kleines Programm dazu geschrieben:
Die Klasse Client:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
static Socket clientSocket;
public static void connectToSoccet(InetAddress IP, int port) {
try {
Socket clientSocket = new Socket(IP, port);
OutputStream out = clientSocket.getOutputStream();
out.write(112 + port);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Die Klasse Server:
Java:
import java.net.*;
import java.io.*;
public class Server {
public Server(int port) throws Exception {
ServerSocket socketServer = new ServerSocket(port);
while (true) {
Socket client = socketServer.accept();
InputStream input = client.getInputStream();
BufferedReader stdIn = new BufferedReader(new InputStreamReader(
input));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
System.out.println("echo: " + input.read());
}
}
}
}
Auf PC A wird dann der Server gestartet:
Java:
Server server = new Server(4447);
Auf dem anderen PC anschließend der Client, der sich zum Server verbinden soll und einen Outputstream übertragen soll:
Java:
Client.connectToSoccet(InetAddress.getByName("xx.xxx.xxx.xxx"),4447);
Code:
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at Client.connectToSoccet(Client.java:14)
at GUI.<init>(GUI.java:14)
at GUI.main(GUI.java:32)
Ich hoffe, ihr könnt mir weiterhelfen.
Danke schonmal.