欢迎来到天天文库
浏览记录
ID:1774066
大小:35.00 KB
页数:5页
时间:2017-11-13
《组播实现udp远程桌面》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、组播实现UDP远程桌面组播实现UDP远程桌面 服务端:packagemultiCast;importjava.awt.Dimension;importjava.awt.Graphics2D;importjava.awt.Rectangle;importjava.awt.RenderingHints;importjava.awt.Robot;importjava.awt.Toolkit;importjava.awt.image.BufferedImage;importjava.io.ByteArrayOutputStream;importjava.net.DatagramPacket;impor
2、tjava.net.InetAddress;importjava.net.MulticastSocket;importjavax.imageio.ImageIO;publicclassMultiCastServerextendsThread{ privatestaticintportTem=9999;// 端口号 privatestaticStringmutiAddr="230.0.0.1";// 组播IP地址 privateInetAddressinetAddress;// 组播消息的目标地址,及发送人的地址 privateMulticastSocketmulticastSo
3、cket;// 组播发送端套接字 privateRobotrobot;//robot用于获得本地图片 publicMultiCastServer(){ try{ inetAddress=InetAddress.getByName(mutiAddr);// 从组播地址中获得具体的发送者的地址 multicastSocket=newMulticastSocket(); }catch(Exceptione){ e.printStackTrace(); //TODO:handleexception
4、 } } publicvoidrun(){ Dimensionsize=Toolkit.getDefaultToolkit().getScreenSize();// 获得屏幕大小 Rectanglerec=newRectangle(0,0,(int)size.getWidth(),(int)size .getHeight());// 画一个窗体 try{ while(true){ // 抓取一张屏幕图片 robot=newRobot();
5、 BufferedImageimage=robot.createScreenCapture(rec);// 把屏幕图片放入BufferedImage中 BufferedImagelittleimage=resize(image,600,500); ByteArrayOutputStreambout=newByteArrayOutputStream();// 定义一个比特数组输出流,用来发送上面获得的图片 ImageIO.write(littleimage,"jpeg",bout);// 调用ImageIO把
6、 // 图片以JPEG的形式写入到bout输出流中 byte[]b=bout.toByteArray();// 获得bout里的数据字节,放入b中 /*out.writeInt(b.length);// 用DataOutputStreamout发送图片大小 out.write(b);// 把图片字节写入out中 out.flush();// 刷新 */
7、 DatagramPacketdp=newDatagramPacket(b,b.length,inetAddress,portTem);//设置发送包的长度和端口 multicastSocket.send(dp); Thread.sleep(100
此文档下载收益归作者所有