我正在考虑将一个JavaScript Web应用程序移植到C#Unity3D(免费/个人版),以便我开发一个RPG。我有一个用PHP Laravel 5.1构建的可扩展的独立API,我的游戏通过jQuery http调用进行交互。
我需要继续在Unity中进行标准的及时通话,get
,post
,put
,delete
等,但只发现了UnityEngine.WWW#
gets
和posts
。
This SO Post共享其他可用的Unity3D http方法,但没有一个实际上将所有的restful调用放在一个中。我再次提问,因为这是在 2012 中发布的,我还没有在updated documentation内找到满足此要求的任何更新。
有Best HTTP Basic和Best HTTP,价格为45美元和55美元,但我们认为会有其他免费选项。
我是否遗漏了Unity中允许标准休息呼叫的内容?
答案 0 :(得分:8)
WebClient
和WebRequest
都可以在Unity中使用,看起来它只能与Pro Unity版本一起使用,就像System.Net
命名空间中的任何其他API一样。我不知道Unity 5中这个限制是否已经改变。它们支持你问题中提到的所有那些宁静的电话。
Unity在 5.3 中添加了一个名为UnityWebRequest的新API,其中包含 5.3 中的移动平台支持。它旨在取代WWW
,它支持所有您问题中列出的restfull调用。以下是每个例子。这不是一个完整的例子。您可以在我上面提供的链接中找到完整的示例。
//Get
UnityWebRequest get = UnityWebRequest.Get("http://www.myserver.com/foo.txt");
//Post
UnityWebRequest post = UnityWebRequest.Post("http://www.myserver.com/foo.txt","Hello");
//Put
byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
UnityWebRequest put = UnityWebRequest.Put("http://www.my-server.com/upload", myData);
//Delete
UnityWebRequest delete = UnityWebRequest.Delete("http://www.myserver.com/foo.txt");
您可以看到每个示例的完整示例,包括使用json here发布。