当前位置: 首页 > wzjs >正文

多城市网站如何做seo做设计的一般在什么网站找素材

多城市网站如何做seo,做设计的一般在什么网站找素材,wordpress社区聊天室,烟台做网站哪家做的好在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件。那么,这样的远程硬盘功能要怎么实现了? 这次我们将给出…

在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件。那么,这样的远程硬盘功能要怎么实现了?

这次我们将给出一个完整的Demo来演示远程硬盘要怎么实现,同时,这个Demo也给出了个人网盘是如何实现的。个人网盘可以看做是远程硬盘应用的一个特例,即,个人网盘就是访问服务器上的一个特定文件夹。废话不多说,先上图看看这个远程硬盘Demo的基本功能。

一. 远程硬盘功能展示

打开到对方的远程磁盘后,我们就可以看到对方电脑的硬盘了,点击任何一个,就可以访问该盘下面的文件。

访问远程硬盘

双击文件,就可以下载文件到本地;右键菜单则可以上传本地文件到远程磁盘。

传送文件

二. 远程硬盘代码实现

在实现远程磁盘时,我们分为两个层面介绍,一个是底层业务通信层面,另一个是上层的UI展现层面。

1. 底层业务通信实现

比如,当我们使用远程磁盘功能时,最常见的就是去获取对方电脑某个目录下的所有文件及文件夹,那么,这个功能是怎么实现的了?

基于ESFramework,实现这点其实很简单,我们举例说明。以A用户作为磁盘的分享者,B用户作为远程磁盘的访问者,A和B都启动了该Demo的客户端并登录。此时,B要访问A用户电脑上某个目录下的文件列表,那么,B就可以给A发一个请求消息,并得到回复,如下所示(NDiskOutter 类的 GetSharedDirectory 方法):     

/// <summary>
/// 获取目标用户电脑上指定目录下的文件列表信息。
/// </summary>
/// <param name="ownerID">目标用户的账号(磁盘分享者)</param>
/// <param name="clientType">目标用户的设备类型</param>
/// <param name="netDiskID">网盘的标志。(对于远程磁盘而言,即OwnerID为某个用户的ID时,该参数可传null)。如果是群组共享的文件夹,则可以将其设置为对应的群组的ID。</param>
/// <param name="dirPath">指定目录的路径</param>
/// <returns>目录下的文件列表信息</returns>
public SharedDirectory GetSharedDirectory(string ownerID,ClientType clientType,string netDiskID ,string dirPath)
{ReqDirectoryContract contract = new ReqDirectoryContract(netDiskID, dirPath);byte[] res;if (!ownerID.Equals(NetServer.SystemUserID)) //远程磁盘{res = this.p2pQueryOutter.Query(ownerID, clientType, this.fileDirectoryInfoTypes.ReqDirectory, CompactPropertySerializer.Default.Serialize<ReqDirectoryContract>(contract), "");}else //网盘{res = this.customizeOutter.Query(this.fileDirectoryInfoTypes.ReqDirectory, CompactPropertySerializer.Default.Serialize<ReqDirectoryContract>(contract));}ResDirectoryContract resContract = CompactPropertySerializer.Default.Deserialize<ResDirectoryContract>(res, 0);return resContract.SharedDirectory;
}

无论是网盘,还是远程磁盘,都可以通过上述的代码来进行调用,以获取对方电脑指定目录下的文件列表。

(1)特别注意,上述代码中红色字体突出显示的Query方法,该方法的含义是:向对方(或服务器)发送 ReqDirectory 请求,并返回对方的应答结果。

(2)返回的 SharedDirectory 对象,里面包含了目录下的文件列表和子文件夹列表,可以通过 FileList 和 SubDirectorys 属性获取。

那么,A作为分享方,是如何处理来自B的 ReqDirectory 请求的了?

我们来看看 NDiskPassiveHandler 类的 HandleQuery 方法中对 ReqDirectory 请求的处理:

if (informationType == this.fileDirectoryInfoTypes.ReqDirectory){ReqDirectoryContract contract = CompactPropertySerializer.Default.Deserialize<ReqDirectoryContract>(info, 0);string fullPath = this.ConstructFullPath(contract.DirectoryPath);SharedDirectory dir = SharedDirectory.GetSharedDirectory(fullPath);return CompactPropertySerializer.Default.Serialize<ResDirectoryContract>(new ResDirectoryContract(dir));}

(1)首先,将二进制请求消息反序列化为 ReqDirectoryContract 对象,从中拿到对方想要请求的目录路径。

(2)通过 SharedDirectory 的静态方法 GetSharedDirectory 获取目标目录下的文件列表和子文件夹列表,并包装成 SharedDirectory 对象。

(3)将 SharedDirectory 对象序列化成二进制后,返回给请求方。

      上面就以请求指定目录下的文件列表及文件夹列表为例,说明了底层业务通信的过程。其它的业务通信就不再赘述了,大家可自行查看源码。

2. UI 实现 

      在客户端,最主要的UI控件就是 NDiskBrowser 的实现,它的功能主要有:

(1)浏览远程磁盘下的目录及文件。

(2)可从远程磁盘下载文件到本地电脑。

(3)可将本地文件上传到远程磁盘。

      我们仍然以浏览远程磁盘指定目录下的所有文件及文件夹为例,来看看 NDiskBrowser 是如何在UI展现的。

SharedDirectory sharedDirectory = this.nDiskOutter.GetSharedDirectory(this.ownerID, this.clientType, this.netDiskID , path);foreach (DirectoryDetail dirDetail in sharedDirectory.SubDirectorys)
{ListViewItem item = new ListViewItem(new string[] { dirDetail.Name, dirDetail.CreateTime.ToString(), "" }, 0);item.Tag = new FileOrDirectoryTag(dirDetail.Name, 0, dirDetail.CreateTime, false);this.listView_fileDirectory.Items.Add(item);
}foreach (FileDetail file in sharedDirectory.FileList)
{ListViewItem item = new ListViewItem(new string[] { file.Name, file.CreateTime.ToString(), PublicHelper.GetSizeString((uint)file.Size) }, this.GetIconIndex(file.Name));item.Tag = new FileOrDirectoryTag(file.Name, file.Size, file.CreateTime, true);item.ToolTipText = string.Format("大    小:{0}\n创建日期:{1}", PublicHelper.GetSizeString((uint)file.Size), file.CreateTime);this.listView_fileDirectory.Items.Add(item);
}

   在通过 NDiskOutter 的 GetSharedDirectory 方法拿到 SharedDirectory 对象后,就将其 SubDirectorys 所包含的每个子文件夹作为 ListViewItem  添加到 ListView 中显示出来;同时,也将其 FileList 所包含的每个文件作为 ListViewItem  添加到 ListView 中显示出来。这样就出现了我们之前截图的效果。

      NDiskBrowser 的实现代码虽然比较多,但是都很简单,大家下载源码后可自行查看。

三. 下载Demo源码及运行

1. Demo 源码下载:Oraycn.RemoteDisk.rar

2. 运行Demo

(1)运行服务端。

双击服务端运行目录下的 Oraycn.RemoteDisk.Server.exe ,即可启动服务端,如下截图所示:

远程硬盘服务端

(2)运行客户端。

修改客户端配置文件 Oraycn.RemoteDisk.exe.config 中的 ServerIP 为运行服务端电脑的 IP地址,然后双击 Oraycn.RemoteDisk.exe 启动客户端: 

远程硬盘客户端登录

账号密码随便填,登录成功后,进入主界面:

远程硬盘客户端主界面

此时,在主界面的输入框中填上对方的账号,点击“访问他的磁盘”按钮,如果对方在线,就会弹出此文第一张截图的窗体了。

如此,我们就可以完全的操控远程硬盘了。

关于远程硬盘,如果您有什么好点子,欢迎留言和我讨论,谢谢。


文章转载自:

http://NestuZ2I.kzrbd.cn
http://6nRGKR5y.kzrbd.cn
http://FCX5dVqJ.kzrbd.cn
http://oNEi3CT5.kzrbd.cn
http://aU0hYymk.kzrbd.cn
http://kxgbV2GC.kzrbd.cn
http://4fzKfjo0.kzrbd.cn
http://lJdwKB8i.kzrbd.cn
http://hO16zIFB.kzrbd.cn
http://7b7aIxa3.kzrbd.cn
http://dRO9qgFd.kzrbd.cn
http://9m9BGjLt.kzrbd.cn
http://TUY8Gyfa.kzrbd.cn
http://ABtIqWZ3.kzrbd.cn
http://NLJzrTxK.kzrbd.cn
http://P7hKoHv7.kzrbd.cn
http://Mpc9x2tq.kzrbd.cn
http://5VbKAGCF.kzrbd.cn
http://P1bhCjCW.kzrbd.cn
http://xQqQVIxF.kzrbd.cn
http://Br1zVJiV.kzrbd.cn
http://5vZLfQ7H.kzrbd.cn
http://k4DYvbxo.kzrbd.cn
http://XypMGEgv.kzrbd.cn
http://qPjO2k9e.kzrbd.cn
http://ZMRLvMkg.kzrbd.cn
http://9Ek6Dqyw.kzrbd.cn
http://yUjClJHe.kzrbd.cn
http://WpLNG9Yt.kzrbd.cn
http://zlNVOVNz.kzrbd.cn
http://www.dtcms.com/wzjs/677515.html

相关文章:

  • 物流网站前端模板下载百度包头网站建设
  • 网站源码asp兰州手机网站制作公司
  • 成都网站制作是什么做网站一个月工资
  • 聊城汽车网站建设wordpress论坛哪个功能全面
  • 网站建设设计问卷唐山市里做网站的
  • 手机医疗网站凡科做的网站能被收录吗
  • 科技设计网站有哪些内容菜馆网站制作
  • 天津人工智能建站系统软件wordpress 自带搜索
  • 大足网站建设公司手机怎么制作网站教程视频教程
  • 菏泽外贸网站建设wordpress登录界面怎么编辑
  • 哪个网站查公司信息比较准注册一个公司多少钱
  • 自己视频怎么上传网站怎么做网页快捷方式
  • 网站seo主管招聘酷家乐软件培训班
  • 7000元买一个域名做网站孝感建设银行网站
  • 免费html网站制作成品南宁网站建设智能优化
  • 南京哪家做网站好建筑工程公司企业简介
  • 网站建站外包公司网站怎么加代码
  • 移动网站开发框架主营网站建设会计记账
  • 二学一做网站百度指数官网首页
  • 河北保定建设集团招聘信息网站十大免费论文网站
  • 网站类的百度百科怎么做自己制作免费网站
  • 东圃做网站人才网网站建设方案
  • 光触媒网站建设网站建设鼎网络
  • 购物网站主页怎么做重庆市建筑工程信息网官网
  • 网站改版广州网站优化关键词排名
  • 什么叫微网站长沙斌网网络
  • 描述电子商务网站建设做公司中文网站需要注意什么
  • 苏州园区建设网站首页我对网站开发的反思
  • 吉林大学学风建设专题网站采购管理系统的功能有哪些
  • 河南网站制作工作室重庆网站建设的培训机构