using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BestHTTP.WebSocket;
using System;
using Newtonsoft.Json.Linq;
using UnityEngine.UI;
public class server : MonoBehaviour
{
WebSocket client;
string url =
public int type;//参数类型
public string deviceld;//设备id
public string taskId;//任务id
public int status;//任务状态
public string tasktime;
public string startTime;//任务开始时间
public string endTime;//任务结束时间
public int sceneId;//场景id
public int time;//播放时长
private int overtype;
public string SystemTime;
public static server instance;
private Canvas canvas;
private void Start()
{
// Unity.XR.PXR.PXR_System.AppKeepAlive("com.HXQ.MXLY",true,1);
#if UNITY_EDITOR
deviceld = "1983cd060b216226b4b18e6c01775e617a93e33a";
#else
deviceld = SystemInfo.deviceUniqueIdentifier.ToString();
#endif
Debug.Log("w1:" + SystemInfo.deviceUniqueIdentifier.ToString());
canvas = this.GetComponent<Canvas>();
canvas.overrideSorting = true;
canvas.sortingOrder = 1;
ConnectServer();
}
/// <summary>
/// 初始化websocket
/// </summary>
public void ConnectServer()
{
client = new WebSocket(new System.Uri(url));//websocket访问地址
RemHead();
client.OnOpen += OnOpen;
client.OnMessage += OnMessage;
client.OnError += OnError;
client.Open();
}
public void RemHead()
{
client.OnMessage -= OnMessage;
client.OnError -= OnError;
client.OnOpen -= OnOpen;
}
#region 开始登录和心跳
public void OnOpen(WebSocket websocket)
{
LoginProt(deviceld);
StartCoroutine(UpdataBattery());
}
IEnumerator UpdataBattery()
{
while (true)
{
Heart(deviceld);
yield return new WaitForSeconds(10f);
}
}
int batterytype;
public void Heart(string DeviceID)
{
if (SystemInfo.batteryStatus.ToString() == "Charging") batterytype = 1; //充电中
else batterytype = 0;//未充电
LitJson.JsonData jd = LitJson.JsonMapper.ToObject("");
jd["deviceId"] = DeviceID;
jd["type"] = 10;
jd["chargeStatus"] = batterytype;
#if UNITY_EDITOR
jd["soc"] = 0;
#else
float f= SystemInfo.batteryLevel * 100;
jd["soc"] = (int)f;
#endif
client.Send(jd.
unity使用websocket
最新推荐文章于 2024-08-12 08:47:07 发布