Edson188的gravatar头像
Edson188 2014-12-30 16:39:36

java io+socket+多线程模拟video视频播放康美之恋特效源代码下载

java io+socket+多线程模拟video视频播放康美之恋特效源代码下载java io+socket+多线程模拟video视频播放康美之恋特效源代码下载

java io+socket+多线程模拟video视频播放康美之恋特效源代码下载

启动socket :SocketListener

启动client : SocketVideo

运行结果:

java io+socket+多线程模拟video视频播放康美之恋特效源代码下载

package com.mir.video.socket;

import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;

import com.mir.video.utils.Common;

/**
 * ClassName:FileSocketWrite
 * 
 * @author <font color="red">Edson</font>
 * @version
 * @since Ver 1.1
 * @Date 2014年6月27日 下午6:12:38
 * 
 * @see
 */
public class FileSocketWrite extends Thread {
	private Socket socket;
	// 项目路径
	private String userDir = System.getProperty("user.dir");
	// 系统分隔符
	private String se = System.getProperty("file.separator");
	// 得到图片总数
	private Integer count = Common.getFileCount();
	private byte[] buf = new byte[1024 * 1024 * 10];

	FileInputStream in = null;
	InputStream sin = null;
	DataOutputStream out = null;

	File file = null;

	/**
	 * Creates a new instance of FileSocketWrite.<br>
	 * 
	 * @param socket
	 */
	public FileSocketWrite(Socket socket) {
		this.socket = socket;
	}

	@Override
	public void run() {
		try {
			// 通过socket得到流
			sin = socket.getInputStream();
			out = new DataOutputStream(new BufferedOutputStream(
					socket.getOutputStream()));

			String path = userDir + se + "image" + se + "康美之恋 0001.jpg";
			for (int i = 1; i < count; i++) {
				// 阻塞,客户端发送消息才继续执行(项目中其实可以携带一些参数)
				socket.getInputStream().read();
				if (i < 10)
					path = userDir + se + "image" + se + "康美之恋 000" + i
							+ ".jpg";
				else if (i < 100)
					path = userDir + se + "image" + se + "康美之恋 00" + i + ".jpg";
				else if (i < 1000)
					path = userDir + se + "image" + se + "康美之恋 0" + i + ".jpg";
				else
					path = userDir + se + "image" + se + "康美之恋 " + i + ".jpg";
				file = new File(path);
				in = new FileInputStream(file);
				// 写出文件长度
				out.writeLong(file.length());
				out.flush();
				// 写出文件名
				// out.writeUTF(file.getName());
				// out.flush();
				int len = 0;
				//写出文件
				while ((len = in.read(buf)) != -1) {
					out.write(buf, 0, len);
				}
				out.flush();
			}
			//完毕之后关闭流<输入流其实可以只用一个的,我只是嫌麻烦>
			in.close();
			sin.close();
			out.close();
			socket.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
}

逻辑很简单,启动一个socket,socket调用io流,io读取图片有个字节长度,io写图片流入到我们client上有个长度,当图片流的长度等于IO读取图片流长度相等时,我就让你写入到client上,完毕。

这个东东好像是今年6月无聊的时候写的...也许有bug,有兴趣的自己调优。

图片有2248张才把这个传说中的康美之恋广告跑完,5分钟多种呢。我就不上传了,70多M。

有时间放到百度盘上面,逻辑都写的很清楚了,图片自己随意,

java io+socket+多线程模拟video视频播放康美之恋特效源代码下载

牛牛赶快通过,无私奉献叫程序员泡妞,年底了啊,把自己和女友拍的照片放这个程序打包发给自己喜欢的妹子,

有可能一感动就答应你了,我只能帮到你们这里了。没什么难读,谁叫我们买不起单反,玩不起狗,这等泡妞神器都不想去买,因为房子和车子才是重头哦。


打赏

文件名:Video.zip,文件大小:13.967K 下载
最代码最近下载分享源代码列表最近下载
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日
最代码最近浏览分享源代码列表最近浏览
zhezhizhu123  LV1 7月11日
liys1234  LV9 6月14日
liangge2115  LV23 6月7日
gann2015  LV24 5月20日
publicclass  LV12 4月13日
519102305  LV2 3月16日
yjs150 1月23日
暂无贡献等级
dongzhan  LV11 2021年12月15日
田猛猛  LV2 2021年10月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友