欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

unity网络实战开发(丛林战争)-前期知识准备(009-在客户端发送数据的时候加上数据长度)

程序员文章站 2022-04-03 16:46:05
...

使用工具:VS2015

使用语言:c#

作者:Gemini_xujian

参考:siki老师-《丛林战争》****

继上一篇文章内容,这节课讲解一下在客户端发送数据时候加上数据长度。

先上代码:

客户端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tcp客户端
{
    class Message
    {
        public static byte[] GetBytes(string data)
        {
            byte[] dataBytes = Encoding.UTF8.GetBytes(data);//将数据转换成byte数组
            int dataLength = dataBytes.Length;//获得数据byte数组的长度
            byte[] lengthBytes = BitConverter.GetBytes(dataLength);//将长度转换成4个字节的byte数组
            byte[] newBytes = lengthBytes.Concat(dataBytes).ToArray();//将长度数组和数据数组进行连接
            return newBytes;
        }
    }
}
上面的代码是在客户端的项目下新建了一个名为message的类,这个类目前只有一个功能方法,这个方法的作用就是将发送的数据添加上数据信息的长度,具体在每一行代码都进行了注释,前文中讲到需要将保存数据长度信息的数据用4个字节来表示,这里使用的方法时BitCoverter.GetBytes(),通过这个函数即可实现转换。