Unity 連接ws,不用任何插件,忙活了一天終於搞定了,一直連接不上,原來是沒有添加header,
代碼比較簡單,直接貼出來普度眾生
using System;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
private void Start()
{
WebSocket();
}
public async void WebSocket()
{
try
{
ClientWebSocket ws = new ClientWebSocket();
CancellationToken ct = new CancellationToken();
//添加header
//ws.Options.SetRequestHeader("X-Token", "eyJhbGciOiJIUzI1N");
Uri url = new Uri("ws://121.40.165.18:8800/v1/test/test");
await ws.ConnectAsync(url, ct);
await ws.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes("hello")), WebSocketMessageType.Binary, true, ct); //發送數據
while (true)
{
var result = new byte[1024];
await ws.ReceiveAsync(new ArraySegment<byte>(result), new CancellationToken());//接受數據
var str = Encoding.UTF8.GetString(result, 0, result.Length);
Debug.Log(str);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
