0

我正在尝试制作具有框架的 Java 套接字服务器,其中显示消息。

但是当我从框架构造函数运行服务器时,框架不会变得可见。

我的代码有一部分:

调用框架:

    public static void main(String[] args) {

    java.awt.EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            try {
                new ServerForm().setVisible(true);
            } catch (IOException ex) {
                Logger.getLogger(Ship_Server.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });

创建服务器:

    public ServerForm() throws IOException {
    initComponents();

    hipServer Server = new hipServer();

}

服务器构造函数:

 public ShipServer() throws IOException {
    ServerSocket listener = new ServerSocket(8901);
    System.out.println("Server is Running");
    try {
        while (true) {

          ...
         }
    } finally {
        listener.close();
    }
}

你能提出一些建议,运行服务器和实时活动框架吗?

4

2 回答 2

1

避免在 EDT 中包含进程密集型代码,例如无限while循环。

看看使用SwingWorker。它不会EDT在等待网络连接时阻塞。该ServerSocket功能可以在doInBackground中进行管理。

于 2013-04-14T15:29:08.843 回答
0

您还需要为服务器创建一个线程,因为...

while(true)

...“永不”结束

或者

在创建服务器之前显示表单(确保它是可见的)。

于 2013-04-14T15:28:21.053 回答