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

📄 mainwin.java

📁 用java写的聊天系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            int friendsendport;            friendname=in.readLine();            if(!friendname.equals("over")){                friendicqno=in.readLine();                friendstatus=in.readLine();                friendip=in.readLine();                friendsendport=Integer.parseInt(in.readLine());                friendinfo=in.readLine();                friendpic=in.readLine();                friendsex=in.readLine();                friendemail=in.readLine();                friendplace=in.readLine();                friendinfoModel.addFriendInfo(friendicqno,friendname,friendstatus,friendip,                        friendinfo,friendpic,friendsex,friendemail,friendplace, friendsendport);                friendname=in.readLine();            }            friendinfoModel.setMyName(myname);//update view            socket.close();        }        catch(IOException e1){}    }//GEN-LAST:event_jAddFriendButtonActionPerformed    private void jDeleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jDeleteButtonActionPerformed        int index=list.getSelectedIndex();        if(index==-1)return;        String friendjicq=friendinfoModel.getFriendIcqno().get(index).toString();        if(JOptionPane.showConfirmDialog(this,"确实要删除好友"+friendjicq+"么?",                "删除好友确认",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){            try{                Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器                            BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));                PrintWriter out=new PrintWriter(new BufferedWriter(                        new OutputStreamWriter(socket.getOutputStream())),true);                          out.println("delfriend");                out.println(friendjicq);                out.println(myjicq);                friendinfoModel.deleteFriendInfo(index);                      socket.close();            }            catch(IOException e1){}        }    }//GEN-LAST:event_jDeleteButtonActionPerformed    private void jFindButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jFindButtonActionPerformed// TODO add your handling code here:        try{            Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器                        BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));            PrintWriter out=new PrintWriter(new BufferedWriter(                    new OutputStreamWriter(socket.getOutputStream())),true);                      String friendname=" ";            String friendicqno,friendstatus,friendip,friendinfo,friendpic,friendsex,friendemail,friendplace;            int friendsendport;            out.println("find");            out.println(myjicq);            findfriendinfoModel.clearFriendInfo();            friendname=in.readLine();            while(!friendname.equals("over")){                friendicqno=in.readLine();                friendstatus=in.readLine();                friendip=in.readLine();                friendsendport=Integer.parseInt(in.readLine());                friendinfo=in.readLine();                friendpic=in.readLine();                friendsex=in.readLine();                friendemail=in.readLine();                friendplace=in.readLine();                findfriendinfoModel.addFriendInfo(friendicqno,friendname,friendstatus,friendip,                        friendinfo,friendpic,friendsex,friendemail,friendplace,friendsendport);                friendname=in.readLine();            }            findfriendinfoModel.setMyName(myname);            socket.close();        }        catch(IOException e){};            jFindFriendDialog.setBounds(300, 300, 300, 200);        jFindFriendDialog.setVisible(true);    }//GEN-LAST:event_jFindButtonActionPerformed    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing        try{            Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器                        BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));            PrintWriter out=new PrintWriter(new BufferedWriter(                    new OutputStreamWriter(socket.getOutputStream())),true);                      //告诉服务器我下线了            out.println("logout");            out.println(myjicq);            if(in.readLine().trim().equals("ok")){                endthread=true;                if(cfIsCreated)cf.dispose();                this.dispose();                ms.close();                //发组播“我下线了”                this.offLine();                try{socket.close();}                catch(IOException ioe){System.err.println(ioe);};            }        }        catch(IOException e){System.err.println(e);};    }//GEN-LAST:event_formWindowClosing    public void  ConnectServer(int myid){        try{            Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器                        BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));            PrintWriter out=new PrintWriter(new BufferedWriter(                    new OutputStreamWriter(socket.getOutputStream())),true);                      //读取好友信息            out.println("friend");            out.println(myid);            friendinfoModel.clearFriendInfo();            friendinfoModel.setMyUdpPort(sendport);            String friendname=" ";            String friendicqno,friendstatus,friendip,friendinfo,friendpic,friendsex,friendemail,friendplace;            int friendsendport;            friendname=in.readLine();            while(!friendname.equals("over")){                friendicqno=in.readLine();                friendstatus=in.readLine();                friendip=in.readLine();                friendsendport=Integer.parseInt(in.readLine());                friendinfo=in.readLine();                friendpic=in.readLine();                friendsex=in.readLine();                friendemail=in.readLine();                friendplace=in.readLine();                friendinfoModel.addFriendInfo(friendicqno,friendname,friendstatus,friendip,                        friendinfo,friendpic,friendsex,friendemail,friendplace, friendsendport);                friendname=in.readLine();            }            friendinfoModel.setMyName(myname);            socket.close();        }        catch(IOException e1){}    }//connect to server            //无限监听好友上线,下线消息    public  void  run(){        byte array[]=new byte[512];        while(!endthread){            try{                for(int x=0;x<512;x++)array[x]=' ';                ms = new MulticastSocket(multiport);                ms.joinGroup(group);                //创建数据报                receivePacket=new DatagramPacket(array,array.length);                ms.receive(receivePacket);                byte[] data=receivePacket.getData();                String received=new String(data,0,data.length).trim();                String infofromip=receivePacket.getAddress().getHostAddress().toString().trim();                thread.sleep(1000);                if(received.substring(0,6).equals("online")){//如果有好友上线就变彩色                    this.ConnectServer(myjicq);                }                else if(received.substring(0,7).equals("offline")){//如果有好友下线就变灰色                    this.ConnectServer(myjicq);                }            }            catch(IOException ioe){ioe.printStackTrace();}            catch(InterruptedException ie){ie.printStackTrace();}        }    }//run end    public void onLine(){        try{            ms = new MulticastSocket(multiport);            ms.joinGroup(group);            byte[] data="online".getBytes();            DatagramPacket dp=new DatagramPacket(data,data.length,group,multiport);            ms.send(dp,ttl);            ms.leaveGroup(group);            ms.close();        }        catch(SocketException e){System.err.println(e);}        catch(IOException e){System.err.println(e);}            }    public void offLine(){        try{            ms = new MulticastSocket(multiport);            ms.joinGroup(group);            byte[] data="offline".getBytes();            DatagramPacket dp=new DatagramPacket(data,data.length,group,multiport);            ms.send(dp,ttl);            ms.leaveGroup(group);            ms.close();        }        catch(SocketException e){System.err.println(e);}        catch(IOException e){System.err.println(e);}            }            // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton jAddFriendButton;    private javax.swing.JButton jCancelButton;    private javax.swing.JButton jDeleteButton;    private javax.swing.JButton jFindButton;    private javax.swing.JDialog jFindFriendDialog;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jMyJicq;    private javax.swing.JLabel jMyStatus;    private javax.swing.JPanel jPanel1;    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel3;    private javax.swing.JScrollPane jScrollPane1;    private javax.swing.JScrollPane jScrollPane2;    // End of variables declaration//GEN-END:variables               }

⌨️ 快捷键说明

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