自定义简单的协议用socket实现文件上传.doc

自定义简单的协议用socket实现文件上传.doc

ID:51815821

大小:93.00 KB

页数:13页

时间:2020-03-16

自定义简单的协议用socket实现文件上传.doc_第1页
自定义简单的协议用socket实现文件上传.doc_第2页
自定义简单的协议用socket实现文件上传.doc_第3页
自定义简单的协议用socket实现文件上传.doc_第4页
自定义简单的协议用socket实现文件上传.doc_第5页
资源描述:

《自定义简单的协议用socket实现文件上传.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、久服务端定义一个Serversocket监听一个某个端口「当有上传请求到来时就在线程池中取一个线程处理请求。packagecom.my.socket.server;importjava.io.File;importjava.io.IOException;importjava.net.ServerSocket;importjava.net.Socket;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importcom.my.socket.constant.

2、MyServerConstant;publicfinalclassMySockerServer{publicstaticvoidmain(String[]args)throwsIOException{finalFilesavedir=newFile(MyServerConstant.SAVE_DIRECTORY);if(!savedir.exists())savedir.mkdir();ServerSocketmyServerSocket=newServerSocket(MyServerConstant.PORT,50);while(true){SocketmySo

3、cket=myServerSocket.acceptQ;ExecutorServiceexecutorService=Executors.newFixedThreadPool(8);executorService.execute(newServerHander(mySocketzsavedir));}}}4、服务端处理上传的线程类:packagecom.my.socket.server;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.I

4、nputStream;importjava.io.OutputStream;importjava.net.Socket;importjava.util.HashMap;importjava.util.Map;importcom.my.socket.constant.MyServerConstant;importcom.my.socket.util.StreamUtil;publicclassServerHanderimplementsRunnable{privateSocketmySocket=null;privateFilesaveFileDirectory=nu

5、ll;publicServerHander(SocketmySocket,FilesaveFileDirectory){super();this.mySocket=mySocket;this.saveFileDirectory=saveFileDirectory;}@Overridepublicvoidrun(){try{Inputstreamin二mySocket.getInputStream();byte[]headData=StreamUtil.readHead(in);//±传的文件头读入数组MapheadParamter=th

6、is.pareHeader(newString(headData,MyServerConstant.UTF_8));FilesaveFile=newFile(this.saveFileDirectoryzheadParamter.get(MyServerConstant.FILE_NAME));if(!saveFile.exists())saveFile.createNewFile();Outputstreamfos=newFileOutputStream(saveFile);byte[]buffer=newbyte[1024];intlen二0;while((le

7、n=in.read(buffer,0,1024))!=-1){fos.write(bufferz0,len);}fos.flushO;fos.close();System.outprintln(Mend”);Outputstreamos=mySocket.getOutputStream();os.flushO;if(mySocket!=null)mySocket.closeO;}catch(IOExceptione){e.printStackTrace();}}privateMappareHeader(Stringparam){Ma

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。