using System.Collections; using UnityEngine; using UnityEngine.Networking; public class HttpTest : MonoBehaviour { void Start() { StartCoroutine(UnityWebRequestDemo()); } IEnumerator UnityWebRequestDemo() { using (UnityWebRequest www = UnityWebRequest.Get("http://www.example.com")) // 创建一个GET请求 { yield return www.SendWebRequest(); // 发送请求 if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError) // 检查是否存在错误 { Debug.LogError(www.error); } else { Debug.Log(www.downloadHandler.text); // 获取响应内容 } } } }
using System.Collections; using System.Net.Http; using UnityEngine; public class HttpTest : MonoBehaviour { void Start() { StartCoroutine(HttpClientDemo()); } IEnumerator HttpClientDemo() { using (HttpClient client = new HttpClient()) // 创建一个HttpClient实例 { HttpResponseMessage response = await client.GetAsync("http://www.example.com"); // 发送GET请求并获取响应 if (!response.IsSuccessStatusCode) // 检查是否存在错误 { Debug.LogError(response.StatusCode); } else { string responseBody = await response.Content.ReadAsStringAsync(); // 获取响应内容 Debug.Log(responseBody); } } } }
在Unity中,可以使用 WebSocketSharp 库来实现WebSocket通信。这个库是一个C#编写的websocket客户端和服务器端实现。 下面是使用 WebSocketSharp 库实现WebSocket通信的步骤: 导入 WebSocketSharp.dll 库文件到Unity项目中。 在需要进行WebSocket通信的脚本中,添加以下代码: csharp using UnityEngine; using WebSocketSharp; using System; public class WebSocketClient : MonoBehaviour { WebSocket ws; // 定义WebSocket实例 void Start() { // 创建WebSocket实例,并指定连接的URL ws = new WebSocket("ws://localhost:8080"); // 通过回调函数处理收到的消息 ws.OnMessage += (sender, e) => { Debug.Log("Received Message: " + e.Data); }; // 打开WebSocket连接 ws.Connect(); } void OnDestroy() { // 关闭WebSocket连接 ws.Close(); } } 上述示例代码中创建了一个WebSocket客户端实例,然后在Start()函数中指定连接的URL,通过设置 OnMessage 回调函数处理接收到的消息。最后打开WebSocket连接。 另外,在关闭WebSocket连接时,应当使用 Close() 方法将WebSocket连接关闭,以释放资源。 除此之外,WebSocketSharp 还提供了其他很多有用的功能,比如二进制数据传输、ping/pong 心跳检测等,可以根据具体需求选择使用。 需要注意的是,在使用WebSocket协议时,也应当注意安全问题,避免被黑客利用进行攻击或窃取敏感信息。
标签:www,WebSocket,网络通讯,WebSocketSharp,Unity,ws,Debug,using From: https://www.cnblogs.com/xiondun/p/17350372.html