在Unity 网络通讯

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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); // 获取响应内容
            }
        }
    }
}

  

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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协议时,也应当注意安全问题,避免被黑客利用进行攻击或窃取敏感信息。
复制代码

 

posted @   xiondun  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
历史上的今天:
2020-04-24 python线程池 ThreadPoolExecutor 的用法及实战
2020-04-24 进程和线程、协程的区别
2020-04-24 python线程池实现
2020-04-24 python 多进程使用总结
2020-04-24 springboot实现热部署
点击右上角即可分享
微信分享提示