电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于Linux下的socket通信VIP免费

基于Linux下的socket通信_第1页
基于Linux下的socket通信_第2页
基于Linux下的socket通信_第3页
基于Linux下的socket通信[开发平台]:LINUX[开发语言]:JAVA[开发工具]:ECLISPE[开发人员]:阚广稳(安徽理工大学计算机学院09-2班)I.系统描述:本系统含有一个服务器(Server.class)和多个客户端(Clinet.class),可以通过每个客户端查看和下载服务器端共享文件夹中的文件。II.功能描述:A.查看服务器端共享文件夹列表操作:在Linux终端下输入javaClinetlistfiles。参数说明:listfiles是固定参数。结果:列出所有共享文件。B.下载服务器端共享文件夹中的文件操作:在Linux终端下输入javaClinetdownloadfilenamedirpath。参数说明:download是固定参数,filename是想要下载的文件名,dirpath是下载文件保存的路径。结果:下载文件filename到地址dirpath。III.功能分析以及实现:A.问题描述:如何创建可以用于多个客户端连接的服务器?分析解决:因为JAVA语言提供了对多线程的支持,所以我们可以把服务器设计为多线程的,对于每个客户端的连接单独开一条线程与之交互。主要实现代码:服务器端:ServerSocketserversocket=newServerSocket(5678);Socketsocket;While(true){Socket=serversocket.accept();newServerThread(socket).start();}ClassServerThreadextendsThread{Socketsocket;PublicServerThread(Socketsocket){this.socket=socket;}}B.问题描述:如何把服务器端的文件列表发送到客户端分析解决:服务器端如果取得一个文件名就发给客户端也是可行的,但当文件较多的时显得不清晰,如果可以把所有文件名组成的文件列表保存起来,再统一发送到客户端,客户端再统一解析文件列表就显得更合理。这其中也体现了软件设计过程中封装的思想。幸运的是强大的网络编程语言JAVA就可以很好的解决这一问题。遍历服务器端的共享文件夹,把所有文件的文件名以及它们的存储地址存放到Map中,在通过对象流的方式发送到客户端,客户端解析对象流就可以获取文件列表了。主要实现代码:服务器端:publicstaticMapgetAllFiles(Filefile,Mapmap){if(file.isDirectory()){File[]files=file.listFiles();for(inti=0;i

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文章天下+ 关注
实名认证
内容提供者

各种文档应有尽有

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群