java的聊天小程序

客户端:

package test;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class WC7 extends Frame implements ActionListener,Runnable
{
    DatagramSocket D;
    byte dataBuf[] = new byte[512];
    InetAddress A;
    DatagramPacket Pac = new DatagramPacket(dataBuf,dataBuf.length);
    TextArea T1 = new TextArea();
    TextField T2 = new TextField(23);
    public WC7()
        {
            add(T1,"Center");
            Panel P = new Panel();
            P.add(new Label ("发送的信息"));
            P.add(T2);
            T2.addActionListener(this);
            add(P,"South");
            setSize(350,200);
            setVisible(true);
            setTitle("WC7");
            addWindowListener (new WindowAdapter()
            {
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
            });
            (new Thread (this)).start();
        }
    public void actionPerformed(ActionEvent e1){
        try {
            String str = T2.getText();
            byte[] buf = str.getBytes();
            DatagramSocket D = new DatagramSocket();
            InetAddress A = InetAddress.getByName("<span style="color:#FF0000;">服务器端地址</span>");
            DatagramPacket P1 = new DatagramPacket (buf,buf.length,A,8002);
            D.send(P1);
            T2.setText("");
            T1.append("我说: "+str+"\n");
        }
        catch(Exception e2){
        }
    }
    public void run()
    {
        try {
            DatagramSocket D = new DatagramSocket(8001);
            while(true)
            {
                D.receive(Pac);
                String str = new String(Pac.getData(),0,Pac.getLength(),"<span style="color:#FF0000;">编码格式</span>");
                T1.append(Pac.getAddress()+" WC7说 "+str+"\n");
                 
            }
        }
        catch(Exception e3){
        }
         
    }
    public static void main(String args[]){
        new WC7();
 
    }
     
 
}

服务端:

package test;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class WS7 extends Frame implements ActionListener,Runnable
{
    DatagramSocket D;
    byte dataBuf[] = new byte[512];
    InetAddress A;
    DatagramPacket Pac = new DatagramPacket(dataBuf,dataBuf.length);
    TextArea T1 = new TextArea();
    TextField T2 = new TextField(23);
    public WS7()
        {
            add(T1,"Center");
            Panel P = new Panel();
            P.add(new Label ("message"));
            P.add(T2);
            T2.addActionListener(this);
            add(P,"South");
            setSize(350,200);
            setVisible(true);
            setTitle("WS7");
            addWindowListener (new WindowAdapter()
            {
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
            });
            (new Thread (this)).start();
             
             
        }
    public void actionPerformed(ActionEvent e1){
        try {
            String str = T2.getText();
            byte[] buf = str.getBytes();
            DatagramSocket D = new DatagramSocket();
            InetAddress A = InetAddress.getByName("<span style="color:#FF0000;">客户端地址</span>");
            DatagramPacket P1 = new DatagramPacket (buf,buf.length,A,8001);
            D.send(P1);
            T2.setText("");
            T1.append("我说: "+str+"\n");
        }
        catch(Exception e2){
        }
    }
    public void run()
    {
        try {
            DatagramSocket D = new DatagramSocket(8002);
            while(true)
            {
                D.receive(Pac);
                String str = new String(Pac.getData(),0,Pac.getLength(),"<span style="color:#FF0000;">编码格式</span>");
               // str = new String(str.getBytes("gbk"), "iso8859-1");
                T1.append(Pac.getAddress()+" WS7说 "+str+"\n");
                 
            }
        }
        catch(Exception e3){
        }
         
    }
    public static void main(String args[]){
        new WS7();
    }
     
     
     
     
}


  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值