我正在尝试创建具有框架的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();
}
}
你能建议一些东西,运行服务器和活动框架吗?
答案 0 :(得分:1)
避免在EDT中使用过程密集型代码,例如无限while
循环。
看一下使用SwingWorker。在等待网络连接时,它不会阻止EDT
。可以在doInBackground中管理ServerSocket
功能。
答案 1 :(得分:0)
由于......
,您还需要为服务器创建一个线程while(true)
......“从不”结束
OR
在创建服务器之前显示表单(确保它是可见的)。