学习Java Web开发[1]可上传图片的客户端开发

         这是我在CSDN的第一篇博文,马上研一就结束了,换句话说就是我已经毕业一年多了,回想起来或许自己上研就是个错误的选择,到现在还是没有学习到什么东西,现在下决心想学点东西,就先从Java开始,作为计算机的学生精通一门编程语言是非常重要的。希望以后每天能有8小时的有效学习时间。

       现在在学的是Java Web开发的客户端服务端多线程编程。当编完没有多线程的可上传图片的客户端—服务器后,会发现每次只能有一个人使用上传图片,而其余人必须等待,而且有时候因为等待时间过长而被放弃得不到服务器的服务,这是因为Socket是阻塞式的,不使用多线程时当有一个人正在使用Socket其他人必须等待Socket服务完成才能有服务。为了可以实现多人同时上传,我们使用多线程同时编程。

      客户端代码:

	public static void main(String[] args) throws UnknownHostException, IOException {
		
		//1.创建客户端socket
		Socket s = new Socket("192.168.1.102",10005);
		//2.读取客户端要上传的文件
		FileInputStream fis = new FileInputStream("e:\\test.png");
		//3.获取socket输出流,将读到的图片数据发送给服务器
		OutputStream out = s.getOutputStream();
		//4.频繁读取。
		byte[] buf = new byte[1024];
		int len = 0;
		while((len = fis.read())!=-1){
			out.write(buf,0,len);
		}
		//5.告诉服务器图片已经发送完毕。让服务端停止读取。
		 s.shutdownOutput();
		//6.读取服务端发回的内容。
		InputStream in = s.getInputStream();
		byte[] bufIn = new byte[1024];
		int lenIn = in.read(bufIn);
		String text = new String(bufIn,0,lenIn);
		System.out.println(text);
		
		fis.close();
		s.close();
	}
}


 

阅读更多
下一篇Java读入int数字利用system.in判别季节小测验
想对作者说点什么? 我来说一句

javaweb上传图片

2013年03月23日 14KB 下载

JavaWeb 前端书籍推荐

JavaScript

u012411231 u012411231

2017-04-01 16:47:55

阅读数:2105

java web开发学习手册

2013年05月01日 8.92MB 下载

没有更多推荐了,返回首页

关闭
关闭