Hallo,
ich möchte gern wissen wie ich die Variable n an meinen client übergeben kann.
ich habe einen Server der alle 2 Sekunden einen neuen Integerwert erzeugt.
Dieser Wert soll an den Client über eine Socketverbindung gesendet werden, nur wie?
Hier mal mein Code:
Java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Timer;
import java.util.TimerTask;
public class TCPServer
{
static int n;
ServerSocket server = new ServerSocket(4444);
TCPServer() throws IOException
{
System.out.println("Server gestartet!");
System.out.println(n);
Socket client = server.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
String nachricht = input.readLine();
System.out.println("Nachricht vom Client: " + nachricht);
output.write(n);
output.newLine();
output.flush();
}
public static void main(String[] args)
{
final int[] array = { 1, 2, 3, 4, 5};
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
private int next = 0;
@Override
public void run()
{
n = (array[next % array.length]);
next++;
}
}, 0, 2000);
try
{
new TCPServer();
}
catch (IOException e) {
System.out.println(e);
}
}
}
Alles anzeigen
Was zur Zeit passiert iost, wenn ich die Anwendung starte die Ausgabe, "Server gestartet!" und "0" bekomme.
Die variable n wird alle 2 Sekunden mit dem Wert 1,2,3,4,5,1,2... usw. belegt.
Dieser Wert soll alle an den Client gesendet werden.
Gruß
Brausebernd