C#中如何根据已有的通讯协议打包数据?

问题描述

拜托介绍详细点,有类似源码给看看更好。跪求

解决方案

解决方案二:
对于socket来说,它的工作对象只有byte[]所谓协议,是应用层发送、接收双方的约定因为tcp是基于流的,没有边界所以所谓打包,就是按照约定的顺序,把数据写到byte[]中,然后发送出去c#中,打包、解包可以借助BinaryWriter和BinaryReader来完成
解决方案三:
把你的“已有的通讯协议”做个说明。不确定你到底再问什么?!通讯至少有两个层次,一个是指底层,例如某框架可长连接传送byte流,并且可以自动区分消息的结束,那么你就可以使用它传送你的二进制或者字符(例如json、或者csv)格式的任何数据。这些数据是你在其它无数地方都用过的,例如用文件来保存数据。也就是说,底层跟你的顶层没有直接的关系,底层就好像是土,而你要做的雕塑,仅此而已。那么此时你说“怎么根据已有的土来学点雕塑技术”,这就无法正式地回答啦!因为根本不纠结于这个。除非你说明白你为什么要纠结。
解决方案四:
如果你说的是人家已经搞好的通讯框架,那么你很可能是在有意无意地指鹿为马、故意糊弄你的上级。这种情况其实更常见。所谓“打包数据”是指鹿为马的东西,完全可以直接了当地讨论应用,而你在用纯粹技术的术语——"打包“——来绕开这个问题。技术是低级的东西,如果它成了一个人不谈业务系统需求具体需求的借口,那就是“太技术化,所以没用”。

时间: 2024-08-01 03:42:06

C#中如何根据已有的通讯协议打包数据?的相关文章

代码-根据通讯协议获取报文,放到数据库中

问题描述 根据通讯协议获取报文,放到数据库中 具体的代码实现应该怎么写!!! 解决方案 解析返回的xml,存入数据库即可.

介绍几种常见通讯协议中与安全控制相关的标准规范

本文首先介绍了几种常见通讯协议中与安全控制相关的标准规范,以便读者理解 Message Broker 安全管理器的底层工作机制:然后介绍了 Message Broker 安全管理器的功能,如何通过创建安全概要文件来定制化安全控制选项,以及如何为特定消息流启用不同的安全设置.在文章的最后,作者还根据以往的项目经验,提到在实际应用中应当了解和注意的几个事项. 传输协议及安全控制 WebSphere Message Broker(简称 Message Broker)作为企业级的整合中间件和服务总线,提

scoter编程-根据通讯协议获取报文,放到数据库中

问题描述 根据通讯协议获取报文,放到数据库中 对方主动发送数据,然后我们只管接收,存到数据库中,应该怎么写,根据 解决方案 response做一个表,每个字段做一列,然后获取xml对应节点数据,然后数据库做一行

PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]

php5|应用演示 一. 预先的知识: 什么是RS232/RS484及其应用?       QUOTE:RS232接口就是串口,电脑机箱后方的9芯(或25芯)插座,旁边一般有 "|O|O|" 样标识. 一般机箱有两个,新机箱有可能只有一个.笔记本电脑有可能没有. 有很多工业仪器将它作为标准通信端口.通信的内容与格式一般附在仪器的用户说明书中. 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式.由于串行通讯方式具有使用线路少.成本低,特别是在远程传输时,避免了

c语言-【C语言】vc6.0运行程序过程中提示***.EXE已停止工作

问题描述 [C语言]vc6.0运行程序过程中提示***.EXE已停止工作 在运行"添加"这一块时,输入完信息之后就提示***.EXE已停止工作,这是什么错? 代码如下 #include #include #include #include #include #define LENTEL sizeof(tel) #define ID struct tel struct tel { char name[15]; char tele[15]; char style[15]; char mai

socket-VBS中Socket通过TCP协议发送数据

问题描述 VBS中Socket通过TCP协议发送数据 问题是一个接着一个: 在使用MSWINsock.Winsock通过TCP发送数据到Server的时候,提示如下错误: 代码如下: Dim sock,socket '赋值sock变量为WINSOCK的对象 Set sock = Wscript.createobject("MSWINsock.Winsock") sock.Protocol = 0 sock.RemoteHost = "10.185.59.51" so

ASI通讯协议——ASI2x1

通讯协议--ASI2x1 基本功能描述 计算机或控制器通过以太网口或者RS232接口发出指令,包括查询指令,切换指令等,主机箱中的控制板在收到这些指令之后,将这些数据通过485总线转发给对应的主板,并将结果回传给发出指令的计算机或控制器.控制器或计算机发出切换指令后,等待主机箱中的控制板发出刷新指令,以改变显示.主机箱中,控制板以一定时间为间隔不断查询主板的状态,并发出刷新指令将查得的信息更新给计算机或控制器. 通过网络控制时,网管软件必须每隔在30秒内向切换器发出如下字符:         *

单点表通讯协议,谁看的懂啊,请大侠给指明一下如何接收数据

问题描述 单点表通讯协议一.硬件连接和设置:1.仪表设置:a.BAUD设置:(默认为BAUD=3)BAUD=0通讯波特率1200数据位=8校验位=N停止位=1BAUD=1通讯波特率2400数据位=8校验位=N停止位=1BAUD=2通讯波特率4800数据位=8校验位=N停止位=1BAUD=3通讯波特率9600数据位=8校验位=N停止位=1b.ID设置:(默认为ID=1)通讯地址可设位0-31(接在同一485口上的通讯地址不能一样)c.硬件连接:(仪表接线以实物准,并请参照本文件接线.仪表端子号对应

请教一个通讯协议的问题

问题描述 分析下面的通讯协议并回答后面的问题:LogicalMessageProtocol:8bytepacket,Checksum=Negative8bit2'scomplementsumofbytes1-7.Allnumbersinhexadecimal:SelectCurrentPresetByte0:1ChexByte1:AreaByte2:FadeRatelowbyte(usually10)Byte3:Preset:0=P1,1=P2,2=P3,3=P4,A=P5,B=P6,C=P7,