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

📄 java chat applet -- server i.txt

📁 一些网上收集的或是作者本人写的值得推荐的源程序代码.
💻 TXT
字号:
发信人: jallon (javaFan), 信区: JAVA 

标  题: 源码公布2 

发信站: 华南网木棉站 (Sun Nov 30 19:50:42 1997), 转信 

  

服务器端: 

import java.awt.*; 

import java.io.*; 

import java.net.*; 

import java.applet.Applet; 

  

public final class ChatServerFrame extends Frame 

{ 

        private Label l1,l2; 

        private Panel p1,p2; 

        private TextField tf; 

        private TextArea ta; 

        private String jennifer,jennifer1; 

  

        private DatagramPacket sendPacket,receivePacket; 

        private DatagramSocket sendSocket,receiveSocket; 

  

        public ChatServerFrame() 

        { 

                super("Server Frame"); 

                p1=new Panel(); 

                p1.setLayout(new BorderLayout()); 

                l1=new Label("Our chatting as follows:"); 

                ta=new TextArea(10,20); 

                ta.setText(""); 

                p1.add("North",l1); 

                p1.add("Center",ta); 

                add("North",p1); 

                p2=new Panel(); 

                p2.setLayout(new BorderLayout()); 

                l2=new Label("I speak now:"); 

                p2.add("Center",l2); 

                tf=new TextField(20); 

                tf.setText(""); 

                p2.add("South",tf); 

                add("Center",p2); 

                resize(450,260); 

                show(); 

  

                try{ 

                        sendSocket=new DatagramSocket(); 

                        receiveSocket=new DatagramSocket(5000); 

                } 

                catch(SocketException se) 

                { 

                        se.printStackTrace(); 

                        System.exit(1); 

                } 

        } 

  

        public void waitForPackets() 

        { 

                while(true) 

                { 

                        try{ 

                                byte array[]=new byte[100]; 

                                receivePacket=new DatagramPacket(array,array.len 

th); 

                                receiveSocket.receive(receivePacket); 

                                jennifer=receivePacket.getAddress().toString(); 

                                if(jennifer1!=jennifer) 

                                { 

                                        sound(); 

                                    ta.appendText("\nFrom Host: "+jennifer+"\nHo 

t Port: "+receivePacket.getPort()); 

                                } 

                                ta.appendText("\nGuest Say:\t"); 

                                byte data[]=receivePacket.getData(); 

                                String received=new String(data,0); 

                                ta.appendText(received); 

                                jennifer1=jennifer; 

                        } 

                        catch(IOException ioe) 

                        { 

                                ta.appendText("\nProblem lies at "+ioe.toString( 

); 

                        } 

                } 

        } 

  

    public boolean handleEvent(Event e) 

        { 

                if(e.id==Event.WINDOW_DESTROY) 

                { 

                        hide(); 

                    dispose(); 

                        System.exit(0); 

                } 

                return super.handleEvent(e); 

        } 

  

        public boolean action(Event e,Object o) 

        { 

                try{ 

                        ta.appendText("\nJallon Say:\t"); 

                        String s=o.toString(); 

                        ta.appendText(s); 

                        byte data[]=new byte[100]; 

                        s.getBytes(0,s.length(),data,0); 

                        sendPacket=new DatagramPacket(data,s.length(),InetAddres 

.getByName(jennifer),5001); 

                        sendSocket.send(sendPacket); 

                } 

                catch(IOException ioe) 

                { 

                        ta.appendText("problem lies at "+ioe.toString()); 



                } 

                return true; 

        } 

  

        public void sound() 

        { 

        } 

} 

  

  

  

  

-- 

⌨️ 快捷键说明

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