package com.mir.video.socket; import java.awt.Color; import java.awt.Graphics; import java.awt.HeadlessException; import java.awt.Image; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import javax.imageio.ImageIO; import javax.swing.JFrame; import com.mir.Global; /** * ClassName:SocketVideo * * @author <font color="red">Edson</font> * @version * @since Ver 1.1 * @Date 2014年6月27日 下午6:21:45 * * @see */ public class SocketVideo extends JFrame { private static final long serialVersionUID = 1L; private Image img; private SocketVideo() throws HeadlessException { // 设置显示标题 this.setTitle("Socket模拟视频"); // 设置窗口大小 this.setSize(600, 480); // 设置是否显示 this.setVisible(true); // 设置背景颜色 this.setBackground(new Color(255)); } @Override public void paint(Graphics g) { g.drawImage(img, 1, 1, 600, 480, this); } protected SocketVideo setImage(Image image) { this.img = image; return this; } public static void main(String[] args) throws IOException { Socket socket = null; SocketVideo frame = new SocketVideo(); DataInputStream in = null; OutputStream out = null; byte[] buf = new byte[1024 * 1024 * 10]; try { // 连接服务器 socket = new Socket(Global.IP, Global.PORT); System.out.println("Client Start "); in = new DataInputStream(new BufferedInputStream( socket.getInputStream())); out = socket.getOutputStream(); while (true) { // 向Server 写入数据 Server接收到数据后将不再阻塞 out.write(1); out.flush(); // 读取文件长度 int len = (int) in.readLong(); int length = 0; // 读取数据到byte[] 并得到流的长度 length = in.read(buf); System.out.println("文件长度:" + len +" 字节"); System.out.println("流 长 度:" + length +" 字节"); if (len == length){ frame.setImage(ImageIO.read(new ByteArrayInputStream(buf))) .repaint(); } // 休眠100毫秒 Thread.sleep(100); } } catch (Exception e) { e.printStackTrace(); } } }
最近下载更多
myj2006 LV11
2019年8月30日
18089237297 LV3
2019年4月26日
pzg8616235 LV8
2018年9月10日
lhyi23 LV1
2018年6月11日
华丽的孤单331 LV9
2018年6月4日
zs3480 LV11
2018年2月3日
15943876586 LV17
2017年2月7日
都市书 LV4
2016年11月15日
gjynewer LV15
2016年9月2日
gutong LV10
2015年10月3日
最近浏览更多
s4dmcc LV1
9月17日
dapeng0011 LV15
2月25日
飞翔的面包片 LV12
2023年12月19日
pangzhihui LV14
2023年12月15日
lironggang LV38
2023年6月13日
aq384419
2023年4月15日
暂无贡献等级
超维智能编程 LV6
2023年2月26日
nywgzhc LV10
2022年11月20日
mc0624
2022年10月13日
暂无贡献等级
爱情戴罪的羔羊 LV7
2022年9月9日