JAVA UDP 图像传输实例Word文件下载.docx
- 文档编号:18802027
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:8
- 大小:15.84KB
JAVA UDP 图像传输实例Word文件下载.docx
《JAVA UDP 图像传输实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA UDP 图像传输实例Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
pack=newDatagramPacket(b,b.length);
接收数据包时,创建SOCKET必须写端口号
mailReceive=newDatagramSocket(7000);
本例子是通过UDP方式,从服务器端发送一幅图到客户端,客户端显示出来编译后运行javaServer,然后再开一个cmd窗口运行javaClient。
点击client窗口的getpicture就可以了
注意图片文件a.jpg需要和编译好的类放在一起。
/***//**
*@(#)Server.java
*
*Serverapplication
*@author
*@version1.002007/4/16
*/
import.*;
importjava.io.*;
publicclassServer...{
publicstaticvoidmain(String[]args)...{
DatagramPacketpack=null;
DatagramSocketmailReceive=null;
ServerThreadthread;
byteb[]=newbyte[8192];
InetAddressaddress=null;
System.out.println("
serverisrunning"
);
pack=newDatagramPacket(b,b.length);
try...{
mailReceive=newDatagramSocket(7000);
socketbuild"
}
catch(IOExceptione)
...{
e.printStackTrace();
while(true)...{
mailReceive.receive(pack);
address=pack.getAddress();
getclientaddress:
"
+address);
catch(IOExceptione)...{
errorishere"
if(address!
=null)
getaddress"
newServerThread(address).start();
}
else
can'
tgetaddress"
continue;
}
classServerThreadextendsThread
...{
InetAddressaddress;
DataOutputStreamout=null;
DataInputStreamin=null;
Strings=null;
ServerThread(InetAddressaddress)
this.address=address;
publicvoidrun()
FileInputStreamin;
in=newFileInputStream("
a.jpg"
intn=-1;
while((n=in.read(b))!
=-1)
DatagramPacketdata=newDatagramPacket(b,b.length,address,5678);
DatagramSocketmailSend=newDatagramSocket();
mailSend.send(data);
readimage"
in.close();
byteend[]="
end"
.getBytes();
DatagramPacketdata=newDatagramPacket(end,end.length,address,5678);
sendallimagedataok"
catch(Exceptione)...{
*@(#)Client.java
*@authorpkgold1
*/import.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassClientextendsFrameimplementsRunnable,ActionListener...{
Buttonb=newButton("
getpicture"
ImageCanvascanvas;
publicClient()...{
super("
Iamaclient"
setSize(600,600);
setVisible(true);
b.addActionListener(this);
add(b,BorderLayout.NORTH);
canvas=newImageCanvas();
add(canvas,BorderLayout.CENTER);
Threadthread=newThread(this);
validate();
addWindowListener(newWindowAdapter()
publicvoidwindowClosing(WindowEvente)...{
System.exit(0);
});
thread.start();
publicvoidactionPerformed(ActionEventevent)...{
byteb[]="
pleasesendpicture"
.trim().getBytes();
try...{
InetAddressaddress=InetAddress.getByName("
localhost"
DatagramPacketdata=newDatagramPacket(b,b.length,address,7000);
clientsenddata"
ByteArrayOutputStreamout=newByteArrayOutputStream();
mailReceive=newDatagramSocket(5678);
reayreceivedata"
Stringmessage=newString(pack.getData(),0,pack.getLength());
if(message.startsWith("
))
getalldataok"
break;
out.write(pack.getData(),0,pack.getLength());
Iamgettingdata"
byteimagebyte[]=out.toByteArray();
out.close();
Toolkittool=getToolkit();
Imageimage=tool.createImage(imagebyte);
canvas.setImage(image);
paintimage"
canvas.repaint();
publicstaticvoidmain(Stringargs[])
newClient();
classImageCanvasextendsCanvas
Imageimage=null;
setSize(200,200);
publicvoidpaint(Graphicsg)...{
if(image!
g.drawImage(image,0,0,this);
this.image=image;
publicvoidsetImage(Imageimage)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA UDP 图像传输实例 图像 传输 实例
![提示](https://static.bdocx.com/images/bang_tan.gif)