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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mz585858 中级黑马   /  2016-6-7 22:31  /  201 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

UDP协议:
        1).发送端:
                //1.实例化一个DatagramSocket对象
                DatagramSocket socket = new DatagramSocket();
                //2.准备数据
                InetAddress ip = InetAddress.getByName("127.0.0.1");
                int port = 9999;
                byte[] byteArray = "你好".getBytes();
                //3.准备一个数据包对象
                DatagramPacket pck = new DatagraPacket(byteArray,
                                                        byteArray.length,
                                                        ip,
                                                        port);
                //4.调用socket的send()方法发送
                socket.send(pck);
                //5.释放资源
                socket.close();
        2).接收端:
                //1.实例化一个DatagramSocket
                DatagramSocket socket = new DatagramSocket(9999);
                //2.准备空的byte[]数组
                byte[] byteArray = new byte[1024];
                //3.准备一个空的数据包对象
                DatagramPacket pck = new DatagramPacket(byteArray,
                                                        byteArray.length);
                //4.接收数据
                socket.receive(pck);
                //5.解析数据
                byteArray = pck.getData();
                String str = new String(byteArray,0,pck.getLength());
                System.out.println("接收到数据:" + str);
                //6.释放资源
                socket.close();
.TCP协议:
        1).发送端:
                //1.实例化一个Socket
                Socket socket = new Socket("127.0.0.1",9999);
                //2.获取输出流
                OutputStream out = socket.getOutputStream();
                //3.输出数据
                out.write("你好".getBytes());
                //4.释放资源
                socket.close();
        2).接收端:
                //1.实例化一个ServerSocket
                ServerSocket server = new ServerSocket(9999);//如果此端口被占用,这里会抛出异常
                //2.等待连接
                Socket socket = server.accept();
                //3.获取输入流
                InputStream in =socket.getInputStream();
                //4.读取数据
                byte[] byteArray = new byte[1024];
                int len = in.read(byteArray);
                String str = new String(byteArray,0,len);
                System.out.println("接收到数据:" + str);
                //5.释放资源
                socket.close();
                server.close();

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马