本帖最后由 高鑫 于 2012-7-15 02:35 编辑
- import java.net.*;
- class UDPsend
- {
- public static void main(String args[])throws Exception
- {
- DatagramSocket ds=new DatagramSocket( );
- byte[] byt= "wo de shijie".getBytes() ;
- DatagramPacket dp=
- new DatagramPacket(byt,byt.length,InetAddress.getByName("192.168.1.3"),10000);
- ds.send(dp);
- ds.close();
- }
- }
- class UDPrece
- {
- public static void main(String[]args)throws Exception
- {
- DatagramSocket ds=new DatagramSocket(10000);
- byte[] buf=new byte[1024];
- DatagramPacket dp=new DatagramPacket(buf,buf.length);
- ds.receive(dp);
- String address=dp.getAddress().getHostAddress();
-
- int port=dp.getPort();
- String text=new String(buf,0,dp.getLength());
- System.out.println(address+","+port+","+text);
-
- ds.close();
- }
- }
复制代码 我的问题:发送端顺序,1-数据从数组中封装到Datagrampacket中 2-通过发送端的Datagramsocket发送
接收端顺序:1,Datagramsocket接受到数据,2,数据通过Datagrampacket接收,
请问我理解的顺序对吗??接受端的定义的数组跟Datagrampacket(buf,buf.length)初始化,长度buf.length是把数组都填满,多余的数据用null表示,还是别的什么??,他们之间内部是怎么运作的??求详细解释 |