当前位置: 首页 > news >正文

ecs云服务器建设网站自媒体账号申请

ecs云服务器建设网站,自媒体账号申请,做网站用centos还是ubuntu,购物商城html网站代码WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 WebSocket与http 其…

WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebSocket与http

其实从历史上来讲,websocket是为了克服http无法双向通信而引入的,在通常的使用中,可以复用http的端口与功能,除此外,他们没有其他的联系,而是完全是独立的协议,通常情况下,http是单向的web 服务,而websocket是全双工的,服务器和客户端可以实时的传输信息,在引用时他们可以在http服务器上同时部署,特别是在NodeJs中。

WebSocket与Socket 

那么websocket和socket是什么关系呢? 其实可以理解为websocket是在socket的基础上实现的,其基于消息帧和TCP协议,而socket更通用,在编程中,可以选在tcp,udp,也需要自己控制数据流格式,每次的数据的长度都需要自己控制与读取。

下边记录两种Unity客户端使用WebSocket的方法。

1.不使用插件的客户端

引入System.Net.WebSockets;命名空间。

在使用过程中发现这种方法打包WebGl的的时候是存在问题的。

具体使用方法如下:

WebSocket 类 (System.Net.WebSockets) | Microsoft Learn

 Unity客户端代码:

using System;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using UnityEngine;
using UnityEngine.UI;public class test4 : 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://xxx.xxx.xxx.xx:18x/xxx/xxx");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);}}}

2.使用Best HTTP插件

这款插件不但支持WebSockets,还支持HTTP,Sockets等通信方式是一款不错的插件。也支持打包Webgl

插件地址:

https://download.csdn.net/download/f402455894/87597949?spm=1001.2014.3001.5501

客户端代码:

using UnityEngine;
using System;
using BestHTTP.WebSocket;
using Newtonsoft.Json;public class GaoYaGuHuaLu : MonoBehaviour
{string address = "ws://10.xxx.xx.193:1880/xxx";WebSocket webSocket;public GaoYaGuHuaLuEntity gaoYaGuHuaLu = new GaoYaGuHuaLuEntity();private void Awake(){}private void Start(){Init();}public void Init(){if (webSocket == null){webSocket = new WebSocket(new Uri(address));#if !UNITY_WEBGLwebSocket.StartPingThread = true;
#endif// Subscribe to the WS eventswebSocket.OnOpen += OnOpen;webSocket.OnMessage += OnMessageRecv;webSocket.OnBinary += OnBinaryRecv;webSocket.OnClosed += OnClosed;webSocket.OnError += OnError;// Start connecting to the serverwebSocket.Open();}}public void Destroy(){if (webSocket != null){webSocket.Close();webSocket = null;}}void OnOpen(WebSocket ws){Debug.Log("OnOpen: ");//  webSocket.Send("我来啦");}void OnMessageRecv(WebSocket ws, string message){Debug.LogFormat("OnMessageRecv: msg={0}", message);}void OnBinaryRecv(WebSocket ws, byte[] data){Debug.LogFormat("OnBinaryRecv: len={0}", data.Length);}void OnClosed(WebSocket ws, UInt16 code, string message){Debug.LogFormat("OnClosed: code={0}, msg={1}", code, message);webSocket = null;}void OnError(WebSocket ws, string ex){string errorMsg = string.Empty;
#if !UNITY_WEBGL || UNITY_EDITORif (ws.InternalRequest.Response != null){errorMsg = string.Format("Status Code from Server: {0} and Message: {1}", ws.InternalRequest.Response.StatusCode, ws.InternalRequest.Response.Message);}
#endifDebug.LogFormat("OnError: error occured: {0}\n", (ex != null ? ex : "Unknown Error " + errorMsg));webSocket = null;}public void OnClose(){// 关闭连接webSocket.Close(1000, "Bye!");}
}

http://www.tj-hxxt.cn/news/9153.html

相关文章:

  • 中职示范校建设验收网站宁波关键词优化平台
  • 建站做得好的公司金融网站推广圳seo公司
  • 微信开放平台文档搜索引擎优化的流程
  • 南京网站建设知识手机如何制作网页链接
  • 福州网站建设服务价格最实惠北京发生大事了
  • 计算机网络技术网站开发网站设计开发网站
  • 青岛网站建设加盟公司网站产品推广
  • 关于景区网站规划建设方案书宁波seo专员
  • 做网站用上面软件写代码比较好想要网站导航正式推广
  • 盗版网站是如何做的网络营销案例分析报告
  • 网站建设优化公司seo岗位工作内容
  • 智慧旅游网站建设方案市场调研一般怎么做
  • h5响应式网站建设方案磁力吧
  • ui设计无经验找工作抖音seo排名软件哪个好
  • 做网站有限公司东莞seo网络优化
  • 成都哪家做网站石家庄seo外包公司
  • 宜州做网站seo类目链接优化
  • 网站建设和优化的营销话术凡科网站登录入口
  • 把自己做的网页发布到网站厦门关键词排名推广
  • 三维家是在网站上做还是在app上什么平台推广效果最好
  • wordpress 新增小璇seo优化网站
  • 网站开发什么语音最好上海搜索优化推广哪家强
  • 学做美食去哪个网站好企点下载
  • 招聘网站可做哪些推广方案18岁以上站长统计
  • 南宁cms建站谷歌收录查询工具
  • 新新手手网网站站建建设设整合营销传播策划方案
  • 河南省住房和城乡建设厅网站首页哈尔滨优化网站公司
  • 公司主网站百度收录大量赌博之类的信息广州关键词快速排名
  • 网站刚做怎么做seo优化哪里有网页设计公司
  • 如何自己做网站界面爱站seo查询软件