
TCP协议
文章平均质量分 60
编程之升级打怪
擅长Java编程,喜欢钻研技术,不擅长交际。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TCP协议的可靠机制
1、双方是开启了连接,并且是正常工作(因为对方有对数据包的确认回复)。1、如果发送方发送数据包后,在一定时间内没有收到对方的确认包。2、发送方每次给数据包编号,接收方收到每个数据包后需要排序数据包。1、如果对方缓存满了,发送方需要定时询问有没有腾出空间。1、接收方回复确认的时候,告诉对方剩余多少缓存空间。2、出现超时后,发送方需要再次发送相同的数据包。2、发送方只能发送不超过对方缓冲空间的数据包。2、对方收到关闭信号包,需要回复一个确认关闭。1、发送方发送一个数据包,对方要回复确认。原创 2025-05-30 12:43:04 · 259 阅读 · 0 评论 -
猜测TCP协议内部工作线程的逻辑
/ 从发送数据阻塞队列里获取min(q.size(), 1024, 对方剩余空间)个字节。// 负责接收每个来自对方的数据包、确认包、询问剩余空间包、主动关闭包。// 生成IP确认包 确认号为序号+1。// 把IP包再次入队到任务队列里。// 把确认包入队到发送任务队列里。// 把负载数据入队到接收队列里。// 生成发送IP数据包,设置序号。// 获取我方剩余接收空间。// 设置接收成功sendOk为真。// 循环判断直到对方接收成功。// 设置接收成功requireOk为真。原创 2025-05-23 03:25:04 · 688 阅读 · 0 评论 -
TCP和UDP协议的比较
1、不可靠通信,不能保证消息一定送到;不需要建立连接,只管发送,不管对方是否接收成功。4、需要服务端一方先启动,监听端口,等待客户端建立连接后再通信。使用数据流的方式通信。可靠安全加密通信、可靠文件传输、可靠远程控制。2、支持一对一,多对一,一对多广播的通信。视频会议、广播通信、大容量通信。4、按照数据包的方式打包通信。6、可以内部数据分片和重组。8、存在发送和接收缓冲区。3、保证消息可靠的传输。9、通信速度比UDP慢。1、建立连接才能通信。5、只存在接收缓存区。7、支持全双工通信。6、通信速度比较快。原创 2025-01-09 17:31:41 · 175 阅读 · 0 评论 -
HTTP服务器的工作逻辑
/ 把项目下对应资源文件的所有字节接在头部后面输出到TCP套接字中。// 设置Content-Length响应头的值是文件的字节数。// 每个请求头根据":"分割,去除两端多余空白字符,加入到散列表Map中。// 获得请求资源路径,解码成原始的URL格式。// 文件不存在,输出404响应。// 建立服务端TCP套接字,绑定端口,设置最大连接数。// 根据项目目录的磁盘路径,连接资源路径。// 阻塞获取一个客户端的TCP套接字。// 建立TCP套接字的输入流,输出流。// 进入循环,用变量控制循环的进行。原创 2025-03-18 21:14:17 · 450 阅读 · 0 评论 -
Linux系统下C语言网络通信
int sendto(int fd, const char *buf, int 本次发送字节数,int 标志, const struct sockaddr * 远方目标地址, int 地址长度)int recvfrom(int fd, char *buf, int 本次最大的字节长度, int 标志, struct sockaddr* 远方地址, int* 地址长度指针)u_long ntohl(u_long host) 把端口的网络序转成主机序;原创 2025-03-07 17:37:00 · 963 阅读 · 0 评论 -
TCP协议文件传输案例
用C语言的客户端把一个文件,通过网络的TCP协议传给Java的服务器程序;特点:没有格式,所有字节内容都是文件数据,传输完毕后关闭连接。适合windows系统环境;(二)客户端代码(Java语言)(一)客户端代码(C语言)原创 2025-01-27 18:59:10 · 141 阅读 · 0 评论