private void start() {
System.out.println("客户机 【" + socket.getInetAddress().getHostAddress() + "】 连接完成...");
ClassManager.getInfoJPanel().setInfo(String.valueOf(num));
//下面循环怎么检测不到客户关闭了呢
while (!flag) {
flag = socket.isClosed();
//System.out.println("2: " + socket.isConnected());
if (flag) {
num--;
ClassManager.getInfoJPanel().setInfo(String.valueOf(num));
}
}
}
客户机有个GUI界面
this.setDefaultCloseOperation(0); //设置FRAME默认关闭状态 //关闭事件
private void formWindowClosing(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
ClassManager.get_SocketClient().Close(); //关闭socket
System.exit(0);
} 为什么上面服务端检测不到客户断关闭了呢
解决方案 »
- java.lang.NOClassDefFondError
- ObjectInputStream ObjectOutputStream 问题求助
- 界面调用问题
- 【新手提问】请问如果有多个JPanel,怎么样把指定的JPanel移动顶层显示..要不后面的会被前面的栏住哦.
- equals 问题..
- 大家都用j2se做什么呀?还是只为j2ee和j2me打基础?(初学者之问)
- java程序运行问题!
- hibernate的配置问题。
- 谁能帮我看看下面这段程序错在何处,100分重谢
- Eclipse中调用javax.swing的问题
- 两棵树的对齐,大家有没有好的实现方法?
- JTabbedPane标签设置部分关闭和部分不可关闭
private void Connection() throws Exception {
address = new InetSocketAddress(InetAddress.getByName(MResource.getCfg("socket.ip")), Integer.valueOf(MResource.getCfg("socket.port")));
socket = new Socket();
socket.connect(address); // 如果服务端没运行 就抛出异常
//Retry();// 这个方法我是想重试
} private void Retry() throws Exception {
while (!socket.isConnected()) {
socket.connect(address);
}
}
我最终的目的是 如果服务端有没有启动,客服端会一直发送请求 知道与服务端建立连接就停止发送
private void Connection() throws Exception {
address = new InetSocketAddress(InetAddress.getByName(MResource.getCfg("socket.ip")), Integer.valueOf(MResource.getCfg("socket.port")));
socket = new Socket();
socket.connect(address); // 如果服务端没运行 就抛出异常
//Retry();// 这个方法我是想重试
}看清楚 socket = new Socket();
socket.connect(address);