社区
网络编程
帖子详情
TCP协议发数据包
Terryjia
2008-11-09 08:22:46
举个例子服务器发送一个数据包给客户端。
包的结构是(同步头(2字节),功能码(1字节),特征数据(1),数据长度(n),数据域(n),校验码(2),结束码(2))
客户端根据功能码来执行不同的模块,请问代码的结构怎么样比较合理?包是用TCP协议发。
...全文
290
14
打赏
收藏
TCP协议发数据包
举个例子服务器发送一个数据包给客户端。 包的结构是(同步头(2字节),功能码(1字节),特征数据(1),数据长度(n),数据域(n),校验码(2),结束码(2)) 客户端根据功能码来执行不同的模块,请问代码的结构怎么样比较合理?包是用TCP协议发。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Terryjia
2008-11-20
打赏
举报
回复
up
Terryjia
2008-11-19
打赏
举报
回复
现在问题是:要执行一条命令就要写2个函数,一个函数为发送数据到服务器,服务器返回数据后被SELECT收到 然后在根据功能码
跳转到第2个函数判断执行结果。有办法在一个函数里面写吗?写这样的程序需要用到线程的一些东西吗?谢谢大家了。。功能都差
不多了 现在就模块之间的通信协议不太明白,我这么写结构是不是太乱了 而且以后不好封装DLL。还有对DLL里面怎么使用SELECT
的窗口句柄和消息参数,不支持消息映射吧?
simplebird
2008-11-18
打赏
举报
回复
在客户端要考虑拆包问题。TCP这点不爽。
西山小月
2008-11-18
打赏
举报
回复
怎么都行,看自己方便就行,没有固定模式
achao9527
2008-11-18
打赏
举报
回复
也许还有一大堆n变态的服务器常量。交给测试部那帮白痴写吧。--!
achao9527
2008-11-18
打赏
举报
回复
目前我也在研究服务器功能。说一下我自己个人的思路。我觉得仿ascii表,比较好。
服务器定好一个结构(也许是n个)。
当客户连接请求时候
switch
然后是结构。。。。
初步设想。。。
没有经验.
Terryjia
2008-11-18
打赏
举报
回复
[Quote=引用 2 楼 xsc2001 的回复:]
发送很好办,最关键还是看你怎么分折数据包的问题,建议你把一个完整的数据发成三个包发送,信息头、数据体和信息尾三个部分。
信息头包括:同步头(2字节),功能码(1字节),特征数据(1)及数据长度(n),总共8个字节。
数据体包括:实际数据长度由信息头中的长度项决定。
信息尾包括:校验码(2),结束码(2),共4个字节。
而信息头和信息尾是固定长度的,数据体是变长的,可以根据信息头中的长度项来决定。
…
[/Quote]
为什么要分别接收那 一次发送完毕不是很好。要是分多次发的话要用到多线程跟同步的知识吧?
好多函数都是发送完数据后根据返回来的数据来判断程序的执行的
Terryjia
2008-11-12
打赏
举报
回复
自己UP下
Terryjia
2008-11-10
打赏
举报
回复
就是这个代码的结构啊
比如收到数据包后是
switch(功能码)
case 功能码1:
……//实现功能码1的函数
case 功能码2:
……//实现功能码2的函数
这样的大结构吗?我感觉这样的结构不是很好,以后封装是不是会不太方便?
如果不好的话有什么好的结构吗?
blackcat242
2008-11-09
打赏
举报
回复
代码结构怎么合理是什么意思?
cnzdgs
2008-11-09
打赏
举报
回复
“代码结构”是什么意思?上面的描述似乎与代码结构没有什么联系,如果说收发数据的方法,只要客户端先接收包头,然后根据包头中的长度来接收后面的数据就可以。
blackcat242
2008-11-09
打赏
举报
回复
代码结构怎么合理是什么意思?
xsc2001
2008-11-09
打赏
举报
回复
发送很好办,最关键还是看你怎么分折数据包的问题,建议你把一个完整的数据发成三个包发送,信息头、数据体和信息尾三个部分。
信息头包括:同步头(2字节),功能码(1字节),特征数据(1)及数据长度(n),总共8个字节。
数据体包括:实际数据长度由信息头中的长度项决定。
信息尾包括:校验码(2),结束码(2),共4个字节。
而信息头和信息尾是固定长度的,数据体是变长的,可以根据信息头中的长度项来决定。
接收到先接收固定长度的信息头,然后再根据长度信息接收数据体,最后再接收信息尾。注意接收时要分别接收。
gellf
2008-11-09
打赏
举报
回复
发送端/接收端:
发送/接受数据模块(传输流中抓取有效包,关键看你怎么发送,N条组合还是一条一组合)
数据包生成/解析模块(按功能码发送给不同执行模块处理特征数据,数据域)
数据域的生成/实现模块
TCP
/IP
数据包
结构详解
[关键词]
TCP
IP
数据包
结构 详解 网络
协议
一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解 网络
数据包
的结构,以及
协议
分析。如:...
TCP
/IP——
TCP
数据包
分析
学习和掌握
TCP
协议
的应用和报文格式 二.实验拓扑 三.实验工具 GNS3和Wireshark抓包分析软件 四.
TCP
协议
的封装格式 五.
TCP
三次握手实验步骤 1.按照拓扑图,搭建实验环境 2.配置接口IP 1)配置IP地址 PC: SERVER:...
<
TCP
协议
内容分析><1>基于Wireshark分析
TCP
交互
数据包
基于Wireshark &
TCP
协议
的双端通信的
数据包
分析
java
tcp
自定义
数据包
_通过
TCP
接收
数据包
如果您想要使用标识字段,则不使用标准
TCP
. 对于应用程序,
TCP
连接呈现为流 . 您无权访问基本
数据包
....首先,如果您希望使用基于
数据包
的
协议
,请尝试UDP . UdpClient类(http://msdn.microsoft.com/e...
五分钟读懂
TCP
协议
——
TCP
协议
简介
TCP
是互联网核心
协议
之一,本文介绍...)最底层的以太网
协议
(Ethernet)规定了电子信号如何组成
数据包
(packet),解决了子网内部的点对点通信。(图片说明:以太网
协议
解决了局域网的点对点通信。)但是,以太网
协议
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章