自定义协议的问题

mayudong1 2008-10-14 02:26:59
最近要做一个小程序需要将多个客户端的数据库中的数据通过一个固定的服务器转发到一个接收端,在接收端将所有的数据统一插入到位于接收端的数据库中,也就是将发布在不同机器上的数据统一起来(发送端和接收端地址都是可变的,服务器地址固定)。
老板说让我定义一个可以通用的协议,大家说说我应该注意些什么地方呢

我理解的协议就是定义各种数据结构,然后通讯的双方都明白这些是什么数据就行了
除此之外,还有什么才算是完整的协议呢?
...全文
273 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
scq2099yt 2008-10-16
  • 打赏
  • 举报
回复
协议包括:包头、包长、包类型、校验和。
奉海 2008-10-16
  • 打赏
  • 举报
回复
最好还是定全些,不然以后不好维护,
至少要保证在各种网络状态下数据都能发出去,收的到,至于收的数据如何解包出有用的数据,这都是小事情
糊里糊涂 2008-10-16
  • 打赏
  • 举报
回复
协议本身的涵义就是规则规范,反应到软件开发中,最终体现的就是一个数据结构,在这个结构体中通过字段详细说明了通信的规则。
mayudong1 2008-10-16
  • 打赏
  • 举报
回复
up
mayudong1 2008-10-15
  • 打赏
  • 举报
回复
如果我要将它写成一个文档的话,文档中都应该写点什么呢?
Win32Coder 2008-10-15
  • 打赏
  • 举报
回复
定义一个通讯头就可以了,其中的某字段包含后续数据长度。
mayudong1 2008-10-15
  • 打赏
  • 举报
回复
还有人吗
blackcat242 2008-10-14
  • 打赏
  • 举报
回复
消息长度、消息类型、消息序号、校验和。。。。
mayudong1 2008-10-14
  • 打赏
  • 举报
回复
我现在想法很简单,就是把一条记录那出来整成个字符串,各字段之间用一个特殊的符号分割开,大不了前边再加个表名,来判断是哪个表的数据,觉得这样应该可以了
一次发一条记录,收到应答后发下一条,服务器只负责转发
但像那个应答、出错处理等都没什么想法呢还
mayudong1 2008-10-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cnzdgs 的回复:]
传输协议就是传输数据的规则,可以包括很多具体内容,例如多久发送一次数据、每次发送多少数据、如何应答等等,通常还会定义一个头结构,描述与此次发送的数据有关的信息,具体要根据实际需要来定。
[/Quote]

对,对,我指的就是这类东西都需要都那些呢?
microyzy 2008-10-14
  • 打赏
  • 举报
回复
足够你自己用就可以了,没啥正规不正规的,可以预留一点空间,保留给以后使用
dic_walter 2008-10-14
  • 打赏
  • 举报
回复
定义一个消息头,在头中表示是什么类型的数据
根据数据类型,在接收端做相应的处理
cnzdgs 2008-10-14
  • 打赏
  • 举报
回复
传输协议就是传输数据的规则,可以包括很多具体内容,例如多久发送一次数据、每次发送多少数据、如何应答等等,通常还会定义一个头结构,描述与此次发送的数据有关的信息,具体要根据实际需要来定。
Wenxy1 2008-10-14
  • 打赏
  • 举报
回复
用TCP socket。
不理解协议,请看书《TCP/IP详解》卷一。
mayudong1 2008-10-14
  • 打赏
  • 举报
回复
我的意思是协议中还需要包含什么错误处理、传输超时等的处理吗
总觉得实现起来不难,但是让我专门为这个协议些个正规点的文档,我就不知道该写些什么了
blackcat242 2008-10-14
  • 打赏
  • 举报
回复
lz理解的不错,双方定好的结构就是协议,具体包含什么,要根据lz的应用来看了

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧