当前位置: 首页 > news >正文

生活服务信息类网站建设百度广告推广怎么收费了

生活服务信息类网站建设,百度广告推广怎么收费了,建设网站需要买什么手续费,个人免费网站如何做TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,常用于在本地网络上的设备之间传输小型文件。 通信大致过程 TFTP通信过程如下: TFTP通信双方建立连接:TFTP客户端与TFTP服务器建立连接。TFTP服务器监…

TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议,常用于在本地网络上的设备之间传输小型文件。

通信大致过程

TFTP通信过程如下:

  1. TFTP通信双方建立连接:TFTP客户端与TFTP服务器建立连接。TFTP服务器监听69号端口,TFTP客户端使用任意端口向服务器发起连接请求。

  2. TFTP客户端发送请求:客户端向服务器发送读/写请求,请求读取或写入文件。请求消息包含文件名和传输模式(读或写)等参数。

  3. TFTP服务器响应请求:服务器接收到请求后,发送相应的数据包。如果是读请求,服务器会发送一个包含文件数据的数据包;如果是写请求,服务器会发送一个确认数据包。

  4. TFTP客户端处理数据:客户端收到服务器发送的数据包后,处理数据,如果是写请求,则发送一个数据确认包;如果是读请求,则请求下一批数据。

  5. TFTP服务器处理数据:服务器接收到客户端发送的确认数据包后,继续发送数据包,直到所有数据传输完成。

  6. TFTP连接关闭:当数据传输完成后,TFTP连接会自动关闭。

通信报文解析

TFTP报文格式:

TFTP报文格式包括操作码、数据块号和数据三个部分。

操作码:每条TFTP报文的第一个字节是操作码,用于标识该报文的类型,包括读请求、写请求、数据报文、确认报文、错误报文等。

数据块号:在数据报文和确认报文中,数据块号用来表示传输的数据块的编号,一个传输的文件被分成多个数据块进行传输,每个数据块有一个独立的数据块编号。

数据:在数据报文中,数据是传输的文件数据;在确认报文中,数据是上一数据块的数据块编号。

总体来说,TFTP通信过程简单明了,适合于在局域网内传输小型文件。由于TFTP没有安全措施,因此不适合在互联网上使用。

以下是一个tftp client的几个重要函数:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netdb.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>#define PACKET_SIZE 516
#define PORT 69typedef enum {RRQ = 1,WRQ = 2,DATA = 3,ACK = 4,ERROR = 5
} Opcode;typedef struct {Opcode opcode;char* filename;char* mode;
} Request;typedef struct {Opcode opcode;int block_num;char* data;
} DataPacket;typedef struct {Opcode opcode;int block_num;
} AckPacket;typedef struct {Opcode opcode;char* error_msg;
} ErrorPacket;int send_request(int sockfd, Request req, struct sockaddr_in serv_addr) {char packet[PACKET_SIZE];int ptr = 0;memset(packet, 0, PACKET_SIZE);// Opcodepacket[ptr++] = 0;packet[ptr++] = req.opcode;// Filenamememcpy(packet + ptr, req.filename, strlen(req.filename) + 1);ptr += strlen(req.filename) + 1;// Modememcpy(packet + ptr, req.mode, strlen(req.mode) + 1);ptr += strlen(req.mode) + 1;return sendto(sockfd, packet, ptr, 0, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
}int receive_data(int sockfd, DataPacket* data_pkt, struct sockaddr_in* serv_addr, socklen_t* addr_len) {char packet[PACKET_SIZE];int bytes_received = recvfrom(sockfd, packet, PACKET_SIZE, 0, (struct sockaddr*)serv_addr, addr_len);if (bytes_received < 0) {perror("Error receiving data");return -1;}// Parse packetint ptr = 0;data_pkt->opcode = packet[ptr++];data_pkt->block_num = (packet[ptr++] << 8) + packet[ptr++];data_pkt->data = (char*)malloc(bytes_received - 4);memcpy(data_pkt->data, packet + 4, bytes_received - 4);return bytes_received - 4;
}int send_ack(int sockfd, AckPacket ack_pkt, struct sockaddr_in serv_addr) {char packet[PACKET_SIZE];int ptr = 0;memset(packet, 0, PACKET_SIZE);// Opcodepacket[ptr++] = 0;packet[ptr++] = ack_pkt.opcode;// Block numberpacket[ptr++] = (ack_pkt.block_num & 0xff00) >> 8;packet[ptr++] = ack_pkt.block_num & 0xff;return sendto(sockfd, packet, ptr, 0, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
}int send_error(int sockfd, ErrorPacket err_pkt, struct sockaddr_in serv_addr) {char packet[PACKET_SIZE];int ptr = 0;memset(packet, 0, PACKET_SIZE);// Opcodepacket[ptr++] = 0;packet[ptr++] = err_pkt.opcode;// Error messagememcpy(packet + ptr, err_pkt.error_msg, strlen(err_pkt.error_msg) + 1);ptr += strlen(err_pkt.error_msg) + 1;return sendto(sockfd, packet, ptr, 0, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
}``
【最后一个bug】多平台都有更新和发布,大家可以一键三连,关注+星标,不错过精彩内容~~
![在这里插入图片描述](https://img-blog.csdnimg.cn/fd839da131aa474184b6f6d0a6355d2c.jpg)
http://www.ds6.com.cn/news/80171.html

相关文章:

  • 经营范围网站建设泉州网站建设
  • 想自己做微信网站的工作漯河网站推广公司
  • 企业网站的模块功能百度学术论文查重免费检测
  • 网站设计软件怎么从网上找客户
  • 企业网站的建设规划nba最新交易动态
  • wordpress怎么设置用户登陆宁波seo推广推荐
  • 个人兼职做建设网站免费下载百度seo
  • 做百度百科的网站卖网站链接
  • 南京做网站工作室深圳百度关键
  • wordpress获取文章内图片不显示班级优化大师免费下载安装
  • 网站建设需求模板下载品牌建设
  • 记事本网站开发搜索百度下载安装
  • pc网站如何转为手机版南京今天重大新闻事件
  • php 怎么做 网站我想在百度发布信息
  • 网络营销网站建设论文网页seo优化
  • wordpress离线写文章优化大师客服电话
  • 深圳网站建设 排行榜爱站网 关键词挖掘工具站
  • 在哪个网站订酒店做申根签证广告投放价目表
  • 潮州网络推广郑州seo优化外包公司
  • 中国有哪些网站可以做兼职免费的电脑优化软件
  • 保定网站建设费用网站首页推广
  • 动态网站设计选题参考网络广告投放公司
  • 网站要背代码?网站搜索排名优化软件
  • wordpress换了ip优化大师app下载
  • 广州平台网站建设淘宝排名查询工具
  • 找工程分包网站网络推广技术外包
  • 正规制作网站公司哪家好培训机构网站制作
  • 中国旅游网站模板个人怎么做网络推广
  • 一些js特效的网站推荐百度学术官网登录入口
  • 风琴折叠图片效果网站合肥网站优化排名推广