一 使用Webservice
1webservice就不用介绍了,各种语言都可以写,服务端和客户端分别来写。个人理解,大致的流程,服务端开发,部署网站上,客户端生成代理类,判断是否可以连接,直接调用。很方便。
2写一下客户端的使用吧,用的是C# 将服务转成代理类放在工程项目中直接使用就好,关键就是如何生成代理类,
使用Vs中的tool工具
打开后就是命令行
(1)输入:wsdl.exe/language:cs/n:wsdllib /out:D:\targetcs.cs http://localhost:port/update.asmx
介绍一下:wsdl.exe 是打开wsdl.exe,
language:cs 是转成那种语言
n 表示的是目标代理类的命名空间 可以有可以没有,
out: 表示输出的路径,
D表示D盘,可以自由更改,注意路径的“\”而不是“/”
targetcs.cs 表示文件名称,
http://localhost:port/update.asmx 表示web的网址
还有可以将wsdl文件转成cs的代理类,
还是同样的命令行 这个是将wsdl文件转成cs文件,
(2)输入:wsdl.exe E:\WS.wsdl /out:E:\WS.cs
E:\WS.wsdl 源路径, out 后面 目标路径。
如果没有wsdl的文件的话 使用http://localhost:port/update.asmx 在最后加上?wsdl 网页上就会显示出wsdl的语言。
另外可以使用Vs 来导入外部工具。这个网上有教程。我就不写了。
二, DriveInfo[] driveInfos = DriveInfo.GetDrives ();在Unity中是不能使用的,C#本身是可以实现的,但是在UNity中mono中是不能实现的。同样的VS中是可以实现的 。也就是DLL的问题。
使用另一种来使用
private void Awake () { //获得所有的盘符 string[] dir = Environment.GetLogicalDrives (); for(int i = 0; i < 1; i++) { DirectoryInfo directory = new DirectoryInfo (dir[i]); //盘符下的所有文件夹 包括隐藏的 GetAllDriectory (directory); } } private void GetAllDriectory (DirectoryInfo info) { DirectoryInfo[] directoryInfo = info.GetDirectories (); Debug.Log (directoryInfo.Length); for(int i = 0; i < directoryInfo.Length; i++) { //不显示隐藏的文件夹 if((directoryInfo[i].Attributes&FileAttributes.Hidden)!=FileAttributes.Hidden) Debug.Log (directoryInfo[i].Name); } }还有个知识点 分辨文件夹是否隐藏
if((directoryInfo[i].Attributes&FileAttributes.Hidden)!=FileAttributes.Hidden)通过位 来判断的 这样的就是排除了隐藏的