社区
网络编程
帖子详情
关于TCP大数据包接受的问题
970361
2003-10-16 06:40:40
我要接受一个比较大的TCP数据包,我用的是SELECT方法,如果当有数据到来的时候select返回,可以接受,可是如果这个数据很大,不能够一次read完,那么我是紧接着就地一个次read呢,还是继续call select,等 下一次select返回?
谢谢
...全文
102
11
打赏
收藏
关于TCP大数据包接受的问题
我要接受一个比较大的TCP数据包,我用的是SELECT方法,如果当有数据到来的时候select返回,可以接受,可是如果这个数据很大,不能够一次read完,那么我是紧接着就地一个次read呢,还是继续call select,等 下一次select返回? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flagfly
2003-10-17
打赏
举报
回复
我认为都可以,read返回-1,证明没有数据再select
醉马不肖
2003-10-17
打赏
举报
回复
数据里设置首尾标志
studyingpersons
2003-10-17
打赏
举报
回复
那么就用异步选择WSAAsyncSelect吧!!!
通过网络事件激发消息,然后再用消息响应函数处理套接字I/O操作,这样效率也挺高的!!
970361
2003-10-17
打赏
举报
回复
本来也想在数据尾设置结束标志,可是这样的结束标志很可能和数据的内容相同,如果用太长的标志有有些浪费,所以我用的是记录数据长度的办法
970361
2003-10-17
打赏
举报
回复
哦,知道啦,谢谢各位,我先测试一下看看,因为read会阻塞,所以还是接着用select
sevencat
2003-10-17
打赏
举报
回复
有了select还要WSAAsyncSelect干吗?
sevencat
2003-10-17
打赏
举报
回复
当然是下次select再读啦。
xiaohyy
2003-10-16
打赏
举报
回复
>>那么我是紧接着就地一个次read呢,还是继续call select,等 下一次select返回?
call select
970361
2003-10-16
打赏
举报
回复
这是一个跨平台的程序,不能用WSAEventSelect。
studyingpersons
2003-10-16
打赏
举报
回复
还用就是TCP通信不是随便传输一个无格式的数据包,无论该数据包是否定长,他都应该有一个通信标准!!
studyingpersons
2003-10-16
打赏
举报
回复
干吗不用异步选择呢?
或者用WSAEventSelect呢?
TCP
连接的最
大数据
包
大小 ——Maximum Packet Size for a
TCP
Connection
传输控制协议(
TCP
)是在连接的网络上发送文件或消息的有用协议。每个文件在发送网络上被分割成数据
包
。数据
包
在到达接收网络时合并。
TCP
数据
包
的最大大小是64K(65535字节)。通常,数据
包
大小受到网络资源的最大传输单元(MTU)的限制。MTU是网络硬件设置的数据传输限制的最大大小。数据
包
大小不应超过MTU。在本教程中,我们将尝试解释这些术语背后的概念,并探索它们的各个方面。
关于同一条
TCP
链接数据
包
到达顺序的
问题
以前作者也一直以为数据
包
先发的不一定先到,直到今天才意识这个
问题
的缺陷,数据
包
是不一定先发先到,但是对于
TCP
有一点特殊,若我们
接受
的数据
包
是在应用层,并且应用层用的是
TCP
的传输协议的话,这个顺序是保证,这个顺序的保证是在传输层保证的,举个例子: client发生数据A,B给server,使用的
TCP
传输,client发送毫无疑问是先发送A,然后发送B,但是有些搞网络的同学可能会有这个疑问,A跟B在物理层走的链路不一样,传输速度不一样,B是会比A先到达Server,这个是没有错的,但是这个数据
包
被
接受
是
计算机网络课程设计——发送和接收
TCP
数据
包
以及发送和捕获ARP数据
包
1.课程设计要求: 发送和接收
TCP
数据
包
:
TCP
是一种面向连接的、可靠的传输层协议。
TCP
协议工作在网络层IP协议的基础上。本课程设计的目的是设计一个发送和接收
TCP
数据
包
的程序,其功能是填充一个
TCP
数据
包
,发送给目的主机,并在目的主机接收此
TCP
数据
包
,将数据字段显示在标准输出上。 2.设计原理
TCP
位于IP层之上,应用层之下的传输层。不同主机的应用层之间经常需要可靠的、像管道一样的连接。...
计算机网络课程设计:发送
TCP
数据
包
一.背景概述
TCP
(传输控制协议)是一种面向连接的,可靠的传输层协议。
TCP
协议在网络层IP协议的基础上,向应用层用户进程提供可靠的,全双工的数据流传输。二.设计内容 本课程设计的目的就是设计一个发送
TCP
数据
包
的程序,并根据本设计说明
TCP
数据
包
的结构以及
TCP
协议与IP协议的关系,使学生对
TCP
协议的工作原理有更深入的认识。三.设计要求 本课程的功能是填充一个
TCP
数据
包
,并发送给目的主机。 (1)推荐采用图形界面实现。 (2)程序代码书写规范,有充足的注释。 (3)程序运行:填写目的IP,目的端口。
TCP
/IP总结(4)
TCP
之数据
包
格式
1. 数据
包
格式 . 序号:Seq(Sequence Number)序号占32位,用来标识从计算机A发送到计算机B的数据
包
的序号,计算机发送数据时对此进行标记。 . 确认号:Ack(Acknowledge Number)确认号占32位,客户端和服务器端都可以发送,Ack = Seq + 1。 . 标志位:每个标志位占用1Bit,共有6个,分别为 URG、ACK、PSH、RST、SYN、FIN,具体含义如下: URG:紧急指针(urgent pointer)有效。 ACK:确认序号有效。 PSH:接收方应
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章