Bonsoir a tous,
j'ai récemment commencer a programmer en java et je suis sur javaFx actuellement
depuis hier j'essai de faire interagir un client et un serveur , dans la classe serveur j'ai crée un ServerSocket et je lai lance dans un nouveau thread mais quand je démarre le serveur , la fenêtre ne répond pas . Que doit je faire pour corrigé l'erreur , Merci d'avance
voici le code du serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.company;
 
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.stage.Stage;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.*;
import java.util.Date;
 
public class Server  extends Application{
 
    public static final int port = 13000;
 
    @Override
    public void start(Stage primaryStage) throws IOException {
        TextArea ta = new TextArea();
        Scene scene = new Scene(new ScrollPane(ta));
        primaryStage.setTitle("Serveur");
        primaryStage.setScene(scene);
        primaryStage.show();
 
 
        new Thread(()->{
            try {
                ServerSocket server = new ServerSocket(port);
                Platform.runLater(()->{
                    ta.appendText("server started at "+ new Date()+" \n");
                    try {
                        Socket socket = server.accept();
                        DataInputStream input = new DataInputStream(socket.getInputStream());
                        DataOutputStream output = new DataOutputStream(socket.getOutputStream());
                        while(true){
                            double raduis = input.readDouble();
                            double area = raduis*raduis*Math.PI;
                            output.writeDouble(area);
                            Platform.runLater(()-> {
                                ta.appendText("raduis receive from client : "+raduis+"\n");
                                ta.appendText("area send to the client "+ area+"\n");
                            });
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
 
                });
 
            } catch (IOException e) {
                e.printStackTrace();
            }
        }).start();
    }
}