已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA SOCKET方式网络传输文件业务调用图服务端长时间SOCKET监听服务启动Servlet 自启动配置StartSocketServletcom.relan.lanpay.servlet.StartSocketServlet 0StartSocketServlet/servlet/StartSocketServletServlet 自启动类,初始化程序public void init() throws ServletException System.out.println(平台启动);new Thread(new SocketRunnableService().start();Servlet 启动过程中释放线程调用socket监听,线程调用类public class SocketRunnableService implements java.lang.Runnablepublic void run() SocketService socketService=new SocketService();socketService.contextListener();接收文件的服务端代码public class SocketService public int contextListener()ServerSocket server=null; /创建端口监听sockettry server=new ServerSocket(4700); /监听4700端口System.out.println(监听4700端口开始); catch (IOException e) Socket socket=null; /获取socket对象try /通过socket服务端获取socket对象socket=server.accept();/此处等待客户端发送数据,如果是主线程则程序停止一直等待,因此需要线程调用; catch (IOException e) ByteArrayOutputStream byteArrayOutputStream =new ByteArrayOutputStream();try InputStream in=socket.getInputStream(); /获取到流信息,需要抛出异常byte buff=new byte1;int result=0;result=in.read(buff);while(result!=-1)for(int i=0;ibuff.length;i+=1)byteArrayOutputStream.write(buffi);result=in.read(buff);/buff=byteArrayOutputStream.toByteArray();System.out.println(传输文件完毕!);in.close(); /关闭流socket.close();server.close(); /socket服务必须关闭,否则获取不到新的socket对象String report=byteArrayOutputStream.toString();String reports=report.split(); /解析报文获得文件名,及其他信息/System.out.println( reports1 );File file=new File(E:+reports1); /写入到服务端E盘下的文件FileOutputStream fileOutputStream=new FileOutputStream(file); fileOutputStream.write(byteArrayOutputStream.toByteArray();fileOutputStream.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();/contextListener();new Thread(new SocketRunnableService().start();return 0;客户端发送文件代码public static void main(String args) String fileName=123.zip; /文件名String report=+fileName+; /拼接报文File file=new File(d:+fileName); /读取D盘下的文件try FileInputStream in=new FileInputStream(file);byte b=new byte1; /缓存int count=0;ByteArrayOutputStream byteArrayOutputStream =new ByteArrayOutputStream();count=in.read(b); while(count!=-1)for(int i=0;i+dis.readUTF();dis.close();ps.close();s.close();System.out.print(发送完成); catch (UnknownHostException e) / TODO Auto-g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海中医药大学单招职业技能考试必刷测试卷附答案解析
- 2026年天津医学高等专科学校单招职业适应性测试必刷测试卷及答案解析(夺冠系列)
- 2026年上海健康医学院单招职业技能考试题库及答案解析(夺冠系列)
- 2026年浙江省嘉兴市单招职业倾向性考试题库及答案解析(夺冠系列)
- 房屋征收公司协议书
- 房屋损毁赔偿协议书
- 房屋改造维护协议书
- 房屋构件置换协议书
- 房屋父子赠与协议书
- 房屋租赁退款协议书
- 瑞幸店长线上考试题库及答案
- 2025云南交投集团公路建设有限公司生产人员招聘8人笔试历年参考题库附带答案详解
- 乡村垃圾模拟政协提案模板
- 2025昆明市消防救援支队政府专职消防员招聘(188人)笔试考试参考试题及答案解析
- 2025广东东莞市樟木头镇招聘编外聘用人员14人笔试考试参考试题及答案解析
- 2025年大学《艺术鉴赏》各章节测试题与答案
- 2025至2030中国合成纤维行业项目调研及市场前景预测评估报告
- 舒适护理在手术室的应用与实践
- 煤矿消防安全管理操作规程
- 温泉充值营销方案
- 天津市滨海新区辅警招聘考试真题2024
评论
0/150
提交评论