通过UDP技术实现DOS版的聊天功能

时间:2026-02-16 17:43:16

1、确定思路:

1.编写发送端

2.编写接收端

3.运行程序

2、接收端的编写及思路:

1.通过UDP socket,建立端点服务

2.定义数据包用于储存数据

3.通过receive方法将接收到的数据存入数据包中

4.通过包的方法获取数据

5.打印在控制台上

package UDP;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

public class Udpreceive {

/**

* @param args

*/

public static void main(String[] args)throws Exception {

// TODO Auto-generated method stub

//1.通过UDP socket,建立端点服务

DatagramSocket ds=new DatagramSocket(10000);

//2.定义数据包用于储存数据

byte[] buf=new byte[1024];

//3.通过receive方法将接收到的数据存入数据包中

DatagramPacket dp=new DatagramPacket(buf,buf.length);

ds.receive(dp);

//4.通过包的方法获取数据

String ip=dp.getAddress().getHostAddress();

String data=new String(dp.getData(),0,dp.getLength());

int port=dp.getPort();

//5.打印在控制台上

System.out.println(ip+"::"+data+"::"+port);

}

}

3、编写发送端及思路:

1.创建UPD服务,实现Socket套接字,通过DatagramSocket对象

2.确定数据并封装成数据包,DatagramPacket(byte[] buf, int length, InetAddress address, int port) 

3.通过Soket服务将已有数据包发送出去,通过send()方法

4.关闭数据源

package UDP;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.net.SocketException;

public class Udpsend {

/**

* @param args

* @throws SocketException 

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

//1.创建UPD服务,通过DatagramSocket对象

DatagramSocket ds=new DatagramSocket(8888);

//2.确定数据并封装成数据包,DatagramPacket(byte[] buf, int length, InetAddress address, int port) 

byte[] buf="你好,哈哈!!".getBytes();

DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("183.47.66.228 "),10000);

//3.通过Soket服务将已有数据包发送出去,通过send()方法

ds.send(dp);

//4.关闭数据源

ds.close();

}

}

4、通过点击那个红色圈圈里的绿色按钮,运行两段代码可可看到,聊天的结果,实现了发送和接收!如果你想实现像QQ那样的聊天效果,只需要在里边的代码里加一段循环即可,这里就不做演示啦!

通过UDP技术实现DOS版的聊天功能

© 2026 一点资料
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com