2012-01-09 21 views
-3

こんにちは私はどこにJavaのソフトウェアを作成していますか?私はクライアントマシン上でJavaのソフトウェアを終了したいのですが、このコードはbtです。クライアントはプログラムを起動しません。私はサーバからプログラムを閉じ、クライアントはそれを正しく実行するが、それはser verから抜け出せない。javaクライアント側のプログラム

import java.net.*; 
import java.io.*; 

public class cl extends javax.swing.JFrame { 

    /** Creates new form cl */ 
    public cl() { 


    initComponents(); 
} 

/** This method is called from within the constructor to 
* initialize the form. 
* WARNING: Do NOT modify this code. The content of this method is 
* always regenerated by the Form Editor. 
*/ 
@SuppressWarnings("unchecked") 
// <editor-fold defaultstate="collapsed" desc="Generated Code"> 
private void initComponents() { 

    jPanel1 = new javax.swing.JPanel(); 
    jLabel5 = new javax.swing.JLabel(); 
    jLabel1 = new javax.swing.JLabel(); 
    jLabel2 = new javax.swing.JLabel(); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
    setBackground(new java.awt.Color(255, 204, 204)); 

    jPanel1.setBackground(new java.awt.Color(255, 204, 204)); 

    jLabel5.setIcon(new javax.swing.ImageIcon("C:\\Users\\Administrator\\Desktop\\new-1.jpg")); // NOI18N 

    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N 
    jLabel1.setText("Welcome to our cafe"); 

    jLabel2.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N 
    jLabel2.setText("Contact Administrator to start your session"); 

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
    jPanel1.setLayout(jPanel1Layout); 
    jPanel1Layout.setHorizontalGroup(
     jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(jPanel1Layout.createSequentialGroup() 
      .addContainerGap() 
      .addComponent(jLabel5) 
      .addGroup(jPanel1Layout.createParallelGroup 
    (javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addGap(92, 92, 92) 
        .addComponent(jLabel1)) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addGap(42, 42, 42) 
        .addComponent(jLabel2))) 
      .addContainerGap(872, Short.MAX_VALUE)) 
    ); 
    jPanel1Layout.setVerticalGroup(
     jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(jPanel1Layout.createSequentialGroup() 
      .addGroup(jPanel1Layout.createParallelGroup 
(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addContainerGap() 
        .addComponent(jLabel5)) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addGap(32, 32, 32) 
        .addComponent(jLabel1) 
        .addGap(18, 18, 18) 
        .addComponent(jLabel2))) 
      .addContainerGap(597, Short.MAX_VALUE)) 
    ); 

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
    getContentPane().setLayout(layout); 
    layout.setHorizontalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 
     javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
    ); 
    layout.setVerticalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 
     javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)  


    ); 

    pack(); 
}// </editor-fold> 

/** 
* @param args the command line arguments 
*/ 
public static void main(String args[]) { 


try 
    { 

    String s1,s2; 
    Socket s=new Socket("192.168.1.2",1024); 
        DataInputStream dis=new DataInputStream(s.getInputStream()); 
    DataOutputStream dos=new DataOutputStream(s.getOutputStream()); 
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 

    while(true) 
    { 



s1=dis.readUTF(); 

if (s1.equals("5")) 
{ 
System.exit(0); 
} 
    } 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 
// Variables declaration - do not modify 
private javax.swing.JLabel jLabel1; 
private javax.swing.JLabel jLabel2; 
private javax.swing.JLabel jLabel5; 
private javax.swing.JPanel jPanel1; 
// End of variables declaration 

}

+0

私はクライアント側のソフトウェアを閉じるためにサーバーから値5を送信しています... –

答えて

1

あなたのソケットが開いて滞在しています。

おそらく(s.close();前)あなたのSystem.exit(0);

またdis.close();dos.close();s.close();を置く必要があります。

+0

しかし、クライアントがjava clでプログラムを実行すると、彼はスイングウィンドウを見ることができません... –

+0

変更を加えた後は? –

+0

変更後もはい... –

関連する問題