Unity网络通讯的一些理解——弱联网http
来源:互联网 发布:安装美工刀片的圆规 编辑:程序博客网 时间:2024/06/05 08:41
网络通讯一般有强联网和弱联网,强联网我们一般使用TCP或者UDP,弱联网则是最常用的HTTP。今天我们首先来说一说HTTP。
HTTP(超文本传输协议,HyperText Transfer Protocol)是当前最广泛的网络协议。
首先,我们需要建立一个服务器,也就是一个网站。
让我们试着访问一下,
接下来就是发布网站了,我们可以再右侧找到自己的网站点击右键点击发布。
当网站发布成功,我们便可以使用微软为我们提供的IIS来对网站进行部署。
打开IIS后我们可以点击网站,然后新建。此时会弹出一个界面。可以设置网站名称,物理路径,端口号。。。
接下来进入正题了,如何在unity中进行请求。
首先,我看先看一下Get请求。Get请求是通过www类去请求HTTP,URL就是我们的网站地址,需要说的一点是HTTP是必须发出请求后才可以从服务器上获取资源,所以我们每需要一次,就需要请求一次,也可以一次把资源全部请求,但一般不会这样做。然后就是开启协程,等待请求完毕,然后接受返回的信息。
然后,我们看一下Post请求。Post请求会多一个WWWForm类,通过AddField方法来添加
参数,相当于Get方法路径后的“?id=1”。
按照以上代码,我们会返回text文本信息,是我们请求的值,如果返回的是类,则会收到一个json字符串,json可以进行数据解析,得到我们要的数据。
最后,总结一下Get方式和Post方式的差异。使用Get方式效率要高,但是安全性会降低,Post方式则相反。所以使用哪个要由具体情况而定。
HTTP(超文本传输协议,HyperText Transfer Protocol)是当前最广泛的网络协议。
首先,我们需要建立一个服务器,也就是一个网站。
以visual Studio2015为例,选择Visual C#下的Web,右边选择ASP.Net Web应用程序进行建立,模板选择Empty,勾选上Web API。
这时,我们可以看到,解决方案处已经自动生成好一些文件夹和文件。让我们点击运行一下,确认是否可以使用。
我们找到一个类,ValuesController,这里面是我们能够访问的网址以及可以返回给我们的值。让我们试着访问一下,
接下来就是发布网站了,我们可以再右侧找到自己的网站点击右键点击发布。
如果之前没有配置文件可以点击下拉菜单->新建,然后创建自己的配置文件。发布方法改为“文件系统”,建议在目录下再创建一个文件夹,否则文件会散布在文件夹中,可能引起混乱。点击设置,将配置改为Release,然后点击发布。
当网站发布成功,我们便可以使用微软为我们提供的IIS来对网站进行部署。
打开IIS后我们可以点击网站,然后新建。此时会弹出一个界面。可以设置网站名称,物理路径,端口号。。。
网站名称,看个人喜好填写。物理路径选择之前我们发布的路径。修改端口号,默认为80的端口已经被占用,所以我们需要更换一个端口,从0~65535之间都可以。点击确认进行生成。
接下来进入正题了,如何在unity中进行请求。
首先,我看先看一下Get请求。Get请求是通过www类去请求HTTP,URL就是我们的网站地址,需要说的一点是HTTP是必须发出请求后才可以从服务器上获取资源,所以我们每需要一次,就需要请求一次,也可以一次把资源全部请求,但一般不会这样做。然后就是开启协程,等待请求完毕,然后接受返回的信息。
然后,我们看一下Post请求。Post请求会多一个WWWForm类,通过AddField方法来添加
参数,相当于Get方法路径后的“?id=1”。
private void PostURL(string URL, int id){ //定义一个表单 WWWForm form = new WWWForm(); //给表单添加值 form.AddField("id", 1); WWW data = new WWW(URL, form); StartCoroutine(Request(data));}最后发一下实现协程的一个具体逻辑,供大家参考。
private IEnumerator Request(WWW data){ yield return data; if (string.IsNullOrEmpty(data.error)) { Debug.Log(data.text); } else { Debug.LogError(data.error); }}
按照以上代码,我们会返回text文本信息,是我们请求的值,如果返回的是类,则会收到一个json字符串,json可以进行数据解析,得到我们要的数据。
最后,总结一下Get方式和Post方式的差异。使用Get方式效率要高,但是安全性会降低,Post方式则相反。所以使用哪个要由具体情况而定。
下次,我们看一下Unity网通通讯的强联网。
阅读全文
1 0
- Unity网络通讯的一些理解——弱联网http
- Unity网络通讯的一些理解——强联网socket
- Unity网络通讯的一些理解——观察者模式
- Unity中使用HTTP弱联网
- Unity如何实现网络通讯(一):HTTP
- Http Request的一些理解
- Http Response的一些理解
- [Unity基础]对Coroutine的一些理解
- unity坐标点的一些理解
- 关于联网操作一些理解
- unity 四元数一些理解
- linux命令—网络通讯
- LINUX : 一些常用的网络通讯命令
- [Unity基础]对Rotation的一些理解与实例(一)
- [Unity基础]对Rotation的一些理解与实例(二)
- [Unity基础]对Time.timeScale的一些理解
- [Unity基础]对Camera组件属性的一些理解
- 网络通讯——select()机制
- hdu 5949 Relative atomic mass
- Cloudopt通过MySSL A+级评定
- OpenCV3_C++_Equalize()灰度平滑化 实例
- 用python的生成器yield轻松解决8皇后的问题以及斐波拉契数列
- 【面向JS--this】
- Unity网络通讯的一些理解——弱联网http
- 一文弄懂神经网络中的反向传播法——BackPropagation
- 哈夫曼编码
- 例题6-12 UVA572 Oil Deposits 基础dfs求连通块
- hdu 5948 Thickest Burger
- C++巧妙程序
- OpenCV3_C++_Threshold()阈值化处理 实例
- 服务器tomcat配置https最终解决方案
- Android判断SIM卡是否存在