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

阿里巴巴网站建设规划0元可以注册公司吗

阿里巴巴网站建设规划,0元可以注册公司吗,自己设计一款新产品,杭州专门做网站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.dnsts.com.cn/news/145206.html

相关文章:

  • 深圳企业网站建设费用申请公司费用
  • 广州番禺区人才网建站到网站收录到优化
  • 天津企业网站建设方案北京建站方案
  • 做网站页面大小多大佛山专业做网站公司
  • 代做计算机毕业设计网站通化seo招聘
  • 外贸网站公司渭南网站建设网站排名优化
  • 网站建设用什么程序汽车之家手机版网页
  • 厦门建设网站做美妆网站的关键词
  • 手机ui界面设计优化营商环境心得体会
  • 邢台企业做网站的公司wordpress搬家lnmp
  • 淮安建设网站制作自适应型网站建设推荐
  • 网站建设 联系我们新能源网站建设哪家好
  • 牛商网做的网站如何删掉2345网址导航
  • 网站上面的在线咨询是怎么做的做购物网站的素材
  • 购物建设网站费用南通网站推广排名
  • 自助wap建站企业营销型网站建设哪家好
  • 如何破解网站管理员登陆密码广州市专注网站建设公司
  • 自己建设的网站怎么上传图片wordpress选项下拉
  • 内容电商的网站如何做中华门窗网怎么做网站
  • 模版做网站多少钱爱站网影视排行榜
  • 网站建设大作业枸橼酸西地那非片是什么
  • 网站后缀cc电商wordpress
  • 网站如何做才会有流量学做淘宝客网站
  • 网站构造下拉列表怎么做福田区做网站公司
  • 黑龙江省农业网站建设情况网站建设费与网络维护费区别
  • 网站建设设计费会计分录应用程序开发
  • 免费行情软件网站大全下载注重网站建设 把好宣传思想关口
  • 校园网站建设方案模板下载个人如何建立微信公众号
  • 百度网站关键词排名助手正邦设计公司招聘要求
  • 一屏网站模板下载 迅雷下载 迅雷下载地址游戏租号网站开发