Bei dem folgenden Programm schicke ich dem Server einen String zu, (durch das Drücken von Enter)
Nachdem es das erste mal funktioniert, wird die Funktion "senden()" zwar noch aufgerufen, aber der Server erhält keinen Nachricht. Kann mir jemand sagen warum.
Mfg Marcel
Nachdem es das erste mal funktioniert, wird die Funktion "senden()" zwar noch aufgerufen, aber der Server erhält keinen Nachricht. Kann mir jemand sagen warum.
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class Server
{
private static void handleConnection(Socket client) throws IOException
{
/*BufferedWriter out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
out.write(text);
out.flush();*/
}
public static void main( String[] args ) throws IOException
{
ServerSocket server = new ServerSocket( 3141 );
while(true){
Socket client = null;
try{
client = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
String text = in.readLine();
System.out.println(text);
}
catch ( IOException e ) {
e.printStackTrace();
}
finally {
}
}
}
}
Code:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.event.*;
public class Test
{
static String text = null;
static BufferedWriter out;
static JTextArea t;
public static void main( String[] args ) throws IOException
{
JFrame f = new JFrame("Client");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,250);
t = new JTextArea();
t.addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
if(e.getKeyCode()==10){
try{senden();}
catch(IOException k){}
}
}
});
f.add(t);
f.setVisible(true);
Socket client = new Socket("NameDesPc's", 3141);
out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
while(text!="end"){}
out.close();
}
public static void senden() throws IOException{
out.write(t.getText());
out.flush();
t.setText("");
}
}
Mfg Marcel