uncopyable (24.04.2012)
- 
	22.04.2012, 19:45 #1 Sockets: send wird erst zu Programmende ausgeführt Sockets: send wird erst zu Programmende ausgeführtAbend  
 
 Ich hab ein Problem beim senden und zwar wird meine Nachrichten erst gesendet nachdem ich das Applet beendet hab.
 
 Hier mal mein Code
 
 PHP-Code:import javax.swing.JApplet;
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.net.Socket;
 import java.net.URL;
 import java.net.UnknownHostException;
 
 public class TestApplet extends JApplet implements Runnable {
 
 private Thread thread;
 private Socket socket;
 private DataInputStream in;
 private PrintStream out;
 
 public void init() {
 // Komponenten laden ...
 }
 
 @Override
 public void start() {
 connect();
 }
 
 private void print(String msg) {
 System.out.println(msg);
 }
 
 private void connect() {
 try {
 socket = new Socket(this.getCodeBase().getHost(), 8000);
 in = new DataInputStream(socket.getInputStream());
 out = new PrintStream(socket.getOutputStream());
 
 if (socket.isConnected()) {
 
 send("Hallo?");
 
 if (thread == null) {
 thread = new Thread(this);
 thread.setPriority(Thread.MIN_PRIORITY);
 thread.start();
 }
 
 }
 
 } catch (IOException ex) {
 print(e.getMessage());
 }
 }
 
 @Override
 public void stop() {
 
 try {
 socket.close();
 } catch (IOException e) {
 print(e.getMessage());
 }
 
 if ((thread !=null) && thread.isAlive()) {
 thread.stop();
 thread = null;
 }
 
 }
 
 @Override
 public void destroy() {
 System.exit(0); // Applet muss signiert sein!
 }
 
 private void send(String message) {
 if (socket != null && socket.isConnected()) {
 try {
 out.write(message.getBytes("UTF8"));
 out.flush();
 } catch (IOException e) {
 print(e.getMessage());
 }
 }
 }
 
 @Override
 public void run() {
 String line;
 try {
 line = in.readLine();
 if(line!=null)
 print(line+'\n' );
 } catch (Exception e) {
 print(e.getMessage());
 }
 }
 
 }
    
 
 while( behappy() ) { code(); }
 
- 
	23.04.2012, 22:59 #2U-Labs Routinier  
 - Registriert seit
- 19.11.2011
- Beiträge
- 496
 Thanked 412 Times in 268 Posts AW: Sockets: send wird erst zu Programmende ausgeführt AW: Sockets: send wird erst zu Programmende ausgeführtBist du dir sicher, dass die Nachricht erst beim Beenden des Applets gesendet wird? 
 Vielleicht denkst du das nur, weil du höchstens eine Nachricht zurückbekommst pro gestartetem Thread. Dein Lesevorgang in der run()-Methode wird nur einmal ausgeführt. Eine (Endlos-)Schleife drum und dann mal starten...
 Den Thread sollte wohl besser initialisiert und gestartet werden, bevor du was verschickst.Geändert von Mr. White (23.04.2012 um 23:33 Uhr) 
 
- 
	The Following User Says Thank You to Mr. White For This Useful Post:
 
Ähnliche Themen
- 
  JButton erst nach Sekunden wieder true setztenVon Pyromane im Forum JavaAntworten: 2Letzter Beitrag: 23.11.2013, 01:13
- 
  /m Send BotVon crano im Forum Knuddels BotsAntworten: 1Letzter Beitrag: 22.09.2013, 02:37
- 
  Ssl - Secure Sockets LayerVon uncopyable im Forum HochsprachenAntworten: 1Letzter Beitrag: 11.03.2012, 20:02
- 
  Knuddels Send text bot 2012 [by Lordbuck]Von Lordbuck im Forum Knuddels BotsAntworten: 13Letzter Beitrag: 13.02.2012, 16:46
- 
  Frage Tan erst in einer Woche?Von reen im Forum Fragen & ProblemeAntworten: 3Letzter Beitrag: 10.02.2012, 19:54
Stichworte
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.
 
									 
														 
														 
			 
					
					
					
						 Zitieren
  Zitieren