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

阿里巴巴网站建设规划做海报图片去哪个网站找 知乎

阿里巴巴网站建设规划,做海报图片去哪个网站找 知乎,定制柜子多少钱一平方,网址地址C#服务端用到Fleck包#xff0c;它包含哪些可用的回调函数#xff0c;有哪些常用的api方法#xff1f; 演示#xff1a;服务端收到Unity用户发来的信息 1、Fleck服务器提供哪些回调函数 Fleck提供的回调函数有下面几种#xff1a; //用户连入服务器时... Action OnOp…C#服务端用到Fleck包它包含哪些可用的回调函数有哪些常用的api方法 演示服务端收到Unity用户发来的信息 1、Fleck服务器提供哪些回调函数 Fleck提供的回调函数有下面几种 //用户连入服务器时... Action OnOpen { get; set; }//用户与服务器断开连接时... Action OnClose { get; set; }//收到字符串消息时... Actionstring OnMessage { get; set; }//收到二进制数据时... Actionbyte[] OnBinary { get; set; }//收到别人发来的ping信息时... Actionbyte[] OnPing { get; set; }//收到别人发来的pong信息时... Actionbyte[] OnPong { get; set; }//出错的时候调用...[?谁出错服务器出错还是连接出错出的是什么错] ActionException OnError { get; set; }2 、服务器提供的其它API 其它常用的api主要有 //发送字符串 Task Send(string message);//发送字节码(二进制数据) // 1Byte 8 bits // 1KB 1024 Bytes // 1MB 1024KB Task Send(byte[] message);//发送一个ping信息 Task SendPing(byte[] message);//发送一个pong信息 Task SendPong(byte[] message);//关闭连接 void Close();//关闭连接关闭连接池中指定序号的连接 void Close(int code);ping pong的作用是啥 WebSocket为了保持客户端、服务端的实时双向通信需要确保客户端、服务端之间的TCP通道保持连接没有断开。然而对于长时间没有数据往来的连接如果依旧长时间保持着可能会浪费包括的连接资源。但不排除有些场景客户端、服务端虽然长时间没有数据往来但仍需要保持连接。这个时候可以采用心跳来实现。 发送方-接收方ping 接收方-发送方pong C# 在WinForm里使用Fleck作为服务器的简单示例代码 private void button1_Click(object sender, EventArgs e) {if (hasStartedServer)//不重复启动服务器实例return;var server new WebSocketServer(ws://192.168.0.137:8081); //ws://localhost:8081 ws://127.0.0.0:8181server.Start(socket {//连上时...socket.OnOpen () {Debug.WriteLine($有新用户连入{socket.ConnectionInfo.ClientIpAddress});};//断开时...socket.OnClose () {Debug.WriteLine($用户断开连接{socket.ConnectionInfo.ClientIpAddress});UserSockets.First(x x.socket.ConnectionInfo.Id socket.ConnectionInfo.Id).connected false;};//收到string信息时...socket.OnMessage message {socket.Send($服务器收到消息 : {DateTime.Now.ToString()});Debug.WriteLine($收到一条消息来自{socket.ConnectionInfo.ClientIpAddress});Debug.WriteLine(message);var cmd message.Split(#)[0];if (cmd name){var userID message.Split(#)[1];Debug.WriteLine($收到一条消息来自用户{userID} 连接id{socket.ConnectionInfo.Id});UserSocket user new UserSocket(){userID userID,socket socket,connected true};UserSockets.Add(user);}};//收到二进制信息时...socket.OnBinary bytes {var userName UserSockets.First(x x.socket.ConnectionInfo.Id socket.ConnectionInfo.Id).userID;Debug.WriteLine($收到二进制数据长度为{bytes.Length}Bytes,来自ip:{socket.ConnectionInfo.ClientIpAddress},userID {userName});};});Debug.WriteLine(服务器已经启动);hasStartedServer true; }3、服务器与客户端建立的连接包含哪些信息 public interface IWebSocketConnectionInfo{string SubProtocol { get; }string Origin { get; }string Host { get; }string Path { get; }string ClientIpAddress { get; }int ClientPort { get; }IDictionarystring, string Cookies { get; }IDictionarystring, string Headers { get; }Guid Id { get; }string NegotiatedSubProtocol { get; }}每次建立的连接Id号是唯一的。 4、服务器接收数据时是否会粘包 经测试同一连接连续向服务器发送数据时每次OnBinary收到的消息是完整的。 还没瞻仰源码后面有空看看server端TCP接收数据时应该是做了包的合并处理接到一个整坨数据才调用的OnBinary。 Unity用户端代码 连发50笔数据每次发送1M bytes int i 0;while (i 50) //连发50笔数据每次发送1M bytes{var bytesArray new byte[1048576]; // 1024 * 1024 1048576await websocket.Send(bytesArray); //或者直接await测试结果一样Debug.Log($发送数据-{i});i;}C#服务端代码 每当收到数据时把收到的数据长度打印出来 socket.OnBinary bytes {Debug.WriteLine($收到二进制数据长度为{bytes.Length}Bytes,来自{socket.ConnectionInfo.ClientIpAddress});};5、同一个ip上有两个应用同时发来信息如何区分这些连接属于哪个用户 简要思路每个用户端启动的时候需要用户名登录建立连接时告诉服务器这个socket是哪个userID的凡是该用户建立连接后台都把该连接绑定到user ID。 1、每次建立连接connection的id是唯一的 2、服务器端维护一个【连接列表】string userID - webSocket sockt如下所示 public class UserSocket {/// summary/// 用户ID/// /summarypublic string userID;/// summary/// socket对象/// /summarypublic IWebSocketConnection socket;/// summary/// 状态true-可用状态 false-断开状态/// /summarypublic bool connected; }userIDsocketconnectedguestsocket1trueuser1socket2trueuser2socket3false………userNsocketMtrue 客户端建立连接的时候发送信息给服务器告诉服务器该连接对应那个用户名。 服务器收到信息后及时更新【连接列表】。 用户端在建立连接的时候发送一个string命令告诉服务器这个连接后面是哪个用户user ID websocket.OnOpen () {Debug.Log(连接成功); websocket.SendText($name#user001); //发送用户id };服务器收到信息的处理 //收到二进制信息 socket.OnBinary bytes {var userName UserSockets.First(x x.socket.ConnectionInfo.Id socket.ConnectionInfo.Id).userID;Debug.WriteLine($收到二进制数据长度为{bytes.Length}Bytes,来自ip:{socket.ConnectionInfo.ClientIpAddress},userID {userName}); };收到信息且识别了是哪个userID发来的 6、本文测试环境 Win10 Unity2021.3.18 VS2019(.NET 5.0)
http://www.hkea.cn/news/14566782/

相关文章:

  • 泉州网站制作多少钱intitle:郑州网站建设
  • 企业建站系统下载二级域名免费注册网站
  • php建站系统哪个好全国工商企业查询系统官网
  • 网站建设工作经历ppt模板设计
  • 免得做网站宝安营销型网站制作
  • 福田做网站怎么样效果好企业营销型网站建设开发
  • 哪家网络么司做网站好临沂网络网站建设
  • 自动seo网站源码网站关键词找不到
  • 网站风格抄袭网上注册公司什么网站
  • 汽贸公司网站建设网站设计风格
  • 网站的电子画册怎么做网站域名备案证书下载
  • 女生做网站前端设计师做职业规划的网站
  • 在工商局网站如果做注销公告114网址大全
  • 网站开发职位网站建设中的图片及视频要求
  • 春风家教营销型网站建设网站上怎么做全景看图
  • 苏州公司建设网站制作生成短链接的网站
  • 桂林网站制作多少钱网站流行趋势
  • 枣庄网站建设枣庄seo在哪可以学
  • 怎样做网站权重网站建设app是什么
  • jsp网站开发工具永州企业网站建设
  • 公司企业网站源码wordpress公众号采集
  • 美图秀秀可以做网站吗wordpress图片变形
  • 上海建网站制茂名网站建设电话
  • 手机主页seo优化流程
  • 温州建设信息网站建设局职责
  • 记事本做网站怎么加图片深圳市福田区住房和建设局
  • 上海工商查询网官方网站中山网站建设的企业
  • python做网站模板建筑培训网首页安全员
  • seo批量建站方法wordpress主题 含演示数据
  • 印刷个性化网站建设的意义建e网全景图合成教程