⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jserver.java

📁 socket 套接字 共计算机网络实验
💻 JAVA
字号:
/* * JServer.java * * Created on 2008年4月8日, 下午11:38 *//** * * @author  Owner */import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.*;public class JServer extends javax.swing.JFrame implements Runnable {   Thread readThread  ;   ServerSocket serverSock;   public final static int DEFAULT_PORT=6666;   PrintWriter out;   BufferedReader in=null;   boolean isTrue=true;          /** Creates new form JServer */    public JServer() {       try{   initComponents();  }catch(Exception e){   e.printStackTrace();  }        serverListen();    }        /** 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.     */    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        jScrollPane1 = new javax.swing.JScrollPane();        jTextArea1 = new javax.swing.JTextArea();        jTextField1 = new javax.swing.JTextField();        jButton1 = new javax.swing.JButton();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        jTextArea1.setColumns(20);        jTextArea1.setRows(5);        jScrollPane1.setViewportView(jTextArea1);        jButton1.setText("发送");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton1ActionPerformed(evt);            }        });        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());        getContentPane().setLayout(layout);        layout.setHorizontalGroup(            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)            .add(layout.createSequentialGroup()                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)                    .add(layout.createSequentialGroup()                        .addContainerGap()                        .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE))                    .add(layout.createSequentialGroup()                        .add(32, 32, 32)                        .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 225, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)                        .add(29, 29, 29)                        .add(jButton1)))                .addContainerGap())        );        layout.setVerticalGroup(            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)            .add(layout.createSequentialGroup()                .addContainerGap()                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 242, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)                .add(27, 27, 27)                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)                    .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 35, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)                    .add(jButton1))                .addContainerGap(21, Short.MAX_VALUE))        );        pack();    }// </editor-fold>//GEN-END:initComponents    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed         sendInformation();// TODO add your handling code here:    }//GEN-LAST:event_jButton1ActionPerformed     public void processMsg(String str){//       jTextArea1.append(str);       jTextArea1.append("\n"); }    public void serverListen(){  try{   serverSock=new ServerSocket(DEFAULT_PORT);  }catch(IOException e){   processMsg(e.toString());   processMsg("server failed!\n");  }    processMsg("server listening on port:"+DEFAULT_PORT);    readThread=new Thread(this);   readThread.start();   }         public void run(){    isTrue=true;      String msg;    while(isTrue){     try{    Socket clientSock=serverSock.accept();    processMsg("用户访问服务器");    in=new BufferedReader(new InputStreamReader(clientSock.getInputStream()));    out=new PrintWriter(clientSock.getOutputStream());    msg=in.readLine();     if(msg!=null){     processMsg(msg);    }     }     catch(IOException e){    processMsg(e.toString());   }   }    try{  clientSock.close();   in.close();   out.close();  }catch(IOException  ei){;}   //endConnect();    }public void sendInformation()       {       out.println(jTextField1.getText());       out.flush();       }    /**     * @param args the command line arguments     */    public static void main(String args[])     {         JServer c=new JServer();c.show();     }        // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JScrollPane jScrollPane1;    private javax.swing.JTextArea jTextArea1;    private javax.swing.JTextField jTextField1;    // End of variables declaration//GEN-END:variables    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -