Edson188的gravatar头像
Edson1882014-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 LV112019年8月30日
月亮月亮星星星星星星
18089237297 LV32019年4月26日
星星星星星星
pzg8616235 LV82018年9月10日
月亮月亮
lhyi23 LV12018年6月11日
星星
华丽的孤单331 LV92018年6月4日
月亮月亮星星
zs3480 LV112018年2月3日
月亮月亮星星星星星星
15943876586 LV172017年2月7日
太阳星星
都市书 LV42016年11月15日
月亮
gjynewer LV152016年9月2日
月亮月亮月亮星星星星星星
gutong LV102015年10月3日
月亮月亮星星星星
最代码最近浏览分享源代码列表最近浏览
zhengjb LV27月30日
星星星星
 LV106月12日
月亮月亮星星星星
服气辣 LV25月24日
星星星星
新东方瑶酱 LV52月8日
月亮星星
songhaoyu LV41月30日
月亮
zhenghongixin4065 LV91月23日
月亮月亮星星
TerryGaoBo LV91月19日
月亮月亮星星
codingwomen LV81月1日
月亮月亮
sweetlove LV132020年12月29日
月亮月亮月亮星星
835512308 LV92020年12月20日
月亮月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友