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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package cn.itcast01;
发送端
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//udp传输,发送端
public class Demo1 {
        public static void main(String[] args) throws IOException {
                // 创建socket对象
                DatagramSocket ds = new DatagramSocket();
                // 打包数据
                String s = "你好,网络编程";
                DatagramPacket dp = new DatagramPacket(s.getBytes(),
                                s.getBytes().length, InetAddress.getByName("192.168.1.106"), 10086);
                //发送数据
                ds.send(dp);
                //释放资源
                ds.close();
        }
}
------------------------------------------------------
package cn.itcast01;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

/*
* 接受数据
*/
public class Demo3 {
        public static void main(String[] args) throws IOException {
                // 创建端口对象
                DatagramSocket ds = new DatagramSocket(10086);
                // 接受数据
                byte[] bys = new byte[1024];
                DatagramPacket dp = new DatagramPacket(bys, bys.length);
                ds.receive(dp);
                // 解析数据
                String ip = dp.getAddress().getHostAddress();
                byte[] bys2 = dp.getData();
                String s = new String (bys2,0,dp.getLength());
                System.out.println(ip+"----"+s);
                ds.close();
        }
}



3 个回复

倒序浏览
下面为什么要再定义一个数组bys2,直接打印bys不就行了?
回复 使用道具 举报
我试了一下,是可以的啊,是不是你先开的发送端?
回复 使用道具 举报
edithe 发表于 2015-5-31 15:52
我试了一下,是可以的啊,是不是你先开的发送端?

正解!我先开的发送端,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马