(14)C#的网络接收和发送的各种大小端字节转换
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(14)C#的网络接收和发送的各种大小端字节转换相关的知识,希望对你有一定的参考价值。
由于跨不同的设备进行连接,所以大小端表示的网络协议,就经常会遇到。比如与PLC进行通讯,或者与不同的PC的网络协议通讯。这时候就需要对种数据进行大小端变换,才能把接收到的数据,或者发送过去的数据达到正确的表示。
过往对C或C++的方式比较熟悉,但是C#的表示方式又有一些不一样,经过总结和测试,可以归纳为下面的例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using SuperSocket.SocketBase;
namespace ConsoleApp11
{
class Program
{
// 例子:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
// big-endian little-endian
//0x0000 0x12 0xcd
//0x0001 0x23 0xab
//0x0002 0xab 0x34
//0x0003 0xcd 0x12
static void Main(string[]
以上是关于(14)C#的网络接收和发送的各种大小端字节转换的主要内容,如果未能解决你的问题,请参考以下文章
UDP 协议 C# UdpClient乱序接收数据包丢失的问题 Socket ReceiveBufferSize