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

2025-11-25 16:58:14

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版的聊天功能

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢