UDP协议,接受发送方发来的图片,并显示出来
接受方:
import java.awt.*;
import java.awt.event.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class receive extends Frame implements ActionListener
{
Button bt;
DatagramSocket socket;
DatagramPacket pack;
byte[] buf ;
Image im;
public receive()
{
bt = new Button("获取图像");
add(bt,"North");
this.setSize(800, 600);
this.setVisible(true);
try
{
buf = new byte[1024];
socket = new DatagramSocket(6112);
pack = new DatagramPacket(buf,buf.length);
socket.receive(pack);
im = this.getToolkit().createImage(pack.getData());
}
catch(Exception e)
{
e.printStackTrace();
}
bt.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
}
public void actionPerformed(ActionEvent e)
{
repaint();
}
public void paint(Graphics g)
{
g.drawImage(im,0,0,null);
}
public static void main(String[] args)
{
new receive();
}}
发送方:import java.io.FileInputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class send
{
DatagramSocket socket;
DatagramPacket pack;
FileInputStream in;
byte[] buf ; public send()
{
try
{
buf = new byte[1024];
in = new FileInputStream("C:\\Documents and Settings\\Administrator\\桌面\\1.jpg");
in.read(buf);
socket = new DatagramSocket();
pack = new DatagramPacket(buf,buf.length,InetAddress .getLocalHost(),6112);
socket.send(pack);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new send();
}}
接受方:
import java.awt.*;
import java.awt.event.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class receive extends Frame implements ActionListener
{
Button bt;
DatagramSocket socket;
DatagramPacket pack;
byte[] buf ;
Image im;
public receive()
{
bt = new Button("获取图像");
add(bt,"North");
this.setSize(800, 600);
this.setVisible(true);
try
{
buf = new byte[1024];
socket = new DatagramSocket(6112);
pack = new DatagramPacket(buf,buf.length);
socket.receive(pack);
im = this.getToolkit().createImage(pack.getData());
}
catch(Exception e)
{
e.printStackTrace();
}
bt.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
}
public void actionPerformed(ActionEvent e)
{
repaint();
}
public void paint(Graphics g)
{
g.drawImage(im,0,0,null);
}
public static void main(String[] args)
{
new receive();
}}
发送方:import java.io.FileInputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class send
{
DatagramSocket socket;
DatagramPacket pack;
FileInputStream in;
byte[] buf ; public send()
{
try
{
buf = new byte[1024];
in = new FileInputStream("C:\\Documents and Settings\\Administrator\\桌面\\1.jpg");
in.read(buf);
socket = new DatagramSocket();
pack = new DatagramPacket(buf,buf.length,InetAddress .getLocalHost(),6112);
socket.send(pack);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new send();
}}
解决方案 »
- 初学JAVA SE,弱弱的问一下,日期和时间的转换符信息在API的哪部分?
- 为什么我的滚动条显示不出来
- 继承构造函数为private的父类时,一旦为内隐类就不出错了,弄不清楚原因。
- 新手求救,在创建JTextField对象后,怎么在该对象中设置按右键弹出一个功能菜单???
- 简单问题::如何将BufferedImage对象直接显示在Label中或者是Panel中?
- URLConnection和HttpURLConnection都是抽象类,可为什么能?
- 关于 事件监听器
- 为什么applet在IE5汉字显示没有问题,而在IE6就显示成方框啊,,
- jbuilder6的帮助文件不齐?
- 为什么多态的情况下,子父类存在同名的非静态函数的时候,默认是调用子类的成员函数.
- 刚学了一个月的JAVASE..老师让做个带swing界面的socket多线程小项目.
- 关于联动下拉框的
或者你试试用其他窗口覆盖掉你这个窗口然后切换回这个窗口看看显示出来了没有。
public abstract class Toolkit
extends Object此类是 Abstract Window Toolkit 的所有实际实现的抽象超类。Toolkit 的子类被用于将各种组件绑定到特定本机工具包实现。许多 GUI 操作可以异步执行。