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

网站建设属于设备吗网站建设一般收费

网站建设属于设备吗,网站建设一般收费,线上营销推广方案,久其软件公司网站TFTP#xff08;Trivial File Transfer Protocol#xff09;是一种简单的文件传输协议#xff0c;常用于在本地网络上的设备之间传输小型文件。 通信大致过程 TFTP通信过程如下#xff1a; TFTP通信双方建立连接#xff1a;TFTP客户端与TFTP服务器建立连接。TFTP服务器监…TFTPTrivial File Transfer Protocol是一种简单的文件传输协议常用于在本地网络上的设备之间传输小型文件。 通信大致过程 TFTP通信过程如下 TFTP通信双方建立连接TFTP客户端与TFTP服务器建立连接。TFTP服务器监听69号端口TFTP客户端使用任意端口向服务器发起连接请求。 TFTP客户端发送请求客户端向服务器发送读/写请求请求读取或写入文件。请求消息包含文件名和传输模式读或写等参数。 TFTP服务器响应请求服务器接收到请求后发送相应的数据包。如果是读请求服务器会发送一个包含文件数据的数据包如果是写请求服务器会发送一个确认数据包。 TFTP客户端处理数据客户端收到服务器发送的数据包后处理数据如果是写请求则发送一个数据确认包如果是读请求则请求下一批数据。 TFTP服务器处理数据服务器接收到客户端发送的确认数据包后继续发送数据包直到所有数据传输完成。 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.hkea.cn/news/14355793/

相关文章:

  • 网站设计需要什么技术wordpress 倒计时插件
  • 个体户做网站有用吗wordpress可视化采集
  • 茶山网站仿做网站建设的题目
  • 网站设计制作一条龙免费安康哪里做网站
  • 泰州做网站的公司泊头做网站
  • dw网页制作教程个人网站营销型网站哪家做的好
  • 吴志祥最早做的网站是什么网站评论回复网站怎么做的
  • 制作网站软件教程北京协会网站建设
  • 路由器带u盘接口的做网站电话号码查企业黄页
  • 淮安建设机械网站制作wordpress 评论 顶 踩
  • 营销型网站开发指的是什么大连市建设工程老网站
  • 驾校网站建设关键词个人信息管理系统
  • 建设部网站设计资质查询分类网站模板
  • 本地电脑做服务器建网站企业建设网站的目的
  • 网站建设的因素重庆新闻联播今天
  • 太原网站建设名录咨询管理公司
  • 便宜的网站设计备案信息查询
  • 资产管理系统源码搜狗搜索引擎优化论文
  • 云霄县建设局网站投诉沈阳做网站公司哪家好
  • 宁夏建设工程质量安全监督总网站凡科建站视频教程
  • wordpress网站建设教程视频高端网站建设 n磐石网络
  • 公司网站是不是每天要更新百姓网二手车
  • 淮安谁家做网站推广广告
  • 网站建设品无人机东莞网站建设
  • 做网站改字号代码哪些网站可以做edge主页
  • 网站分辨率兼容怎么做python做直播网站
  • 西宁知名网站设计公司坪山网站建设资讯
  • 网站建设和管理维护中国建设银行北京分行门户网站公告
  • 展览馆网站建设方案书怎么做浏览器网站吗
  • 怎样建设网站是什么厦门市翔安区建设局网站