A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.net.*;
import java.io.*;

class UdpSend2
{
        public static void main(String[] args) throws Exception
        {
                DatagramSocket ds=new DatagramSocket();
               
                BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
                String line=null;
                while(!(line=bufr.readLine()).equals("886"))//弊端是不能发”886“
                {
                        byte[] buf=line.getBytes();
                        DatagramPacket dp=
                                new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.255"),10008);
                        ds.send(dp);
                }
                ds.close();
        }
}
class UdpReceive2
{
        public static void main(String[] args) throws Exception
        {
                DatagramSocket ds=new DatagramSocket(10008);
                while(true)
                {
                        byte[] buf=new byte[1024];
                        DatagramPacket dp=new DatagramPacket(buf,buf.length);
                        ds.receive(dp);

                        String ip=dp.getAddress().getHostAddress();
                        String data=new String(buf,0,dp.getLength());
                        System.out.println(ip+"-----"+data);
                }
        }
}
接收端是怎样确认自己要接受哪个ip给自己的数据,此函数只是在接收端有个端口10008,考虑这是ip标志
                     但是端口只有六万多,而用户比它多得多,接收端是怎样确认自己想要的发送端?

1 个回复

正序浏览
这是UDP协议  服务端不管收到的是哪个发送端  只接受到收到包,只要收到包就行了是谁发的无所谓
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马