欢迎来到天天文库
浏览记录
ID:6031805
大小:159.00 KB
页数:6页
时间:2017-12-31
《java socket方式网络传输文件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JAVASOCKET方式网络传输文件业务调用图服务端长时间SOCKET监听服务启动Servlet自启动配置StartSocketServletcom.relan.lanpay.servlet.StartSocketServlet0StartSocketSer
2、vlet/servlet/StartSocketServletServlet自启动类,初始化程序publicvoidinit()throwsServletException{System.out.println("平台启动");newThread(newSocketRunnableService()).start();}Servlet启动过程中释放线程调用socket监听,线程调用类publicclassSocketRunn
3、ableServiceimplementsjava.lang.Runnable{publicvoidrun(){SocketServicesocketService=newSocketService();socketService.contextListener();}}接收文件的服务端代码publicclassSocketService{publicintcontextListener(){ServerSocketserver=null;//创建端口监听sockettry{server=newServerSocket(4700);//监听4
4、700端口System.out.println("监听4700端口开始");}catch(IOExceptione){}Socketsocket=null;//获取socket对象try{//通过socket服务端获取socket对象socket=server.accept();//此处等待客户端发送数据,如果是主线程则程序停止一直等待,因此需要线程调用;}catch(IOExceptione){}ByteArrayOutputStreambyteArrayOutputStream=newByteArrayOutputStream();try
5、{InputStreamin=socket.getInputStream();//获取到流信息,需要抛出异常byte[]buff=newbyte[1];intresult=0;result=in.read(buff);while(result!=-1){for(inti=0;i6、intln("传输文件完毕!");in.close();//关闭流socket.close();server.close();//socket服务必须关闭,否则获取不到新的socket对象Stringreport=byteArrayOutputStream.toString();String[]reports=report.split("<<<");//解析报文获得文件名,及其他信息//System.out.println(reports[1]);Filefile=newFile("E:\"+reports[1]);//写入到服务端E盘下的7、文件FileOutputStreamfileOutputStream=newFileOutputStream(file);fileOutputStream.write(byteArrayOutputStream.toByteArray());fileOutputStream.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}//contextListener();newThread(newSocketRunnableService()8、).start();return0;}}客户端发送文件代码publicstaticvoidmain(String[]args){StringfileName="12
6、intln("传输文件完毕!");in.close();//关闭流socket.close();server.close();//socket服务必须关闭,否则获取不到新的socket对象Stringreport=byteArrayOutputStream.toString();String[]reports=report.split("<<<");//解析报文获得文件名,及其他信息//System.out.println(reports[1]);Filefile=newFile("E:\"+reports[1]);//写入到服务端E盘下的
7、文件FileOutputStreamfileOutputStream=newFileOutputStream(file);fileOutputStream.write(byteArrayOutputStream.toByteArray());fileOutputStream.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}//contextListener();newThread(newSocketRunnableService()
8、).start();return0;}}客户端发送文件代码publicstaticvoidmain(String[]args){StringfileName="12
此文档下载收益归作者所有