JAVA——基于UDP协议的文本聊天程序

基于UDP协议的文本聊天程序


1.要求

使用JAVA完成一个基于TCP协议的文本聊天程序,建立TCP客户端套接字,分别为服务端和客户端,并使两端可以互联。

2.UDP协议

在UDP协议中,没有TCP中所谓的服务器端和客户端,而是有数据的发送端和接收端。也就是说UDP发送数据就好像发电报一般,对于一段需要发送的数据,每次都生成一个“数据包”实例,然后发出去。

3.语法

与UDP相关的类,除了在本人其他博客中(基于TCP协议的文本聊天程序)所介绍过的inetAddress之外,还有DatagramSocket和DatagramPacket,下面将分别介绍这两类:

  • DatagramPacket类
    DatagramPacket类是“数据包”类,它不但用于发送数据,还用于接收数据。
    在发送数据的时候,需要使用以下几个方法。
    1)setAddress(InetAddress);设置数据的接收端IP地址。
    2)setPort(int):设置数据接收端端口。
    3)setData(byte[]data,int offset,int length):设置要发送的数据。其中data是一个byte数组,offset是指要发送的数据从offset那个索引开始,length是数据长度,也就是说,实际发送的数据是是data数组中索引为offset至索引为offset——length-1的这段内容。
    在接收数据的时候,需要使用以下几个方法:
    1)构造方法DatagramPacket(byte[] data,int length):创建一个用于发送数据的DatagramPacket对象,其中data数组用来放置将来接收到的数据的,length则代表最大可以使用的数组长度(data数组可能不能够全部用来放置本次接受到的数据)。
    2)Byte[]getData():得到接收到的数据。
    3)Int getLength:得到数据的长度。
    4)Int getPort:得到数据发送端的端口。
    5)InetAddress getAddress():得到数据发送端的IP地址。

  • DatagramSocket类
    DatagramSocket类是具体负责发送和接收数据的。其中最主要的方法有:
    1)构造方法DatagramSocket(int port):创建一个DatagramSocket实例,并让它在port端口监听。如果要使用一个DatagramSocket实例收数据,则最好使用这个构造方法。这样发送数据的程序就可以向确定的端口发送数据了。
    2)构造方法DatagramSocket():创建一个DatagramSocket实例,并且让它在系统自动分配的端口监听。如果使用DatagramSocket实例发送数据,则可以使用这个构造方法。
    3)send(DatagramPacket):发送数据包。
    4)receive(DatagramPacket):接受数据包。

4.接收端

代码:

import java.io.IOException;							// 引入需要使用的类
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.net.UnknownHostException;
public class rw26 {
    

	public static void main(String[] args) {
    
		// TODO Auto-generated method stub
		try {
    
			
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值