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

生活服务信息类网站建设百度推广没有效果怎么办

生活服务信息类网站建设,百度推广没有效果怎么办,网站开发技术方案实验报告,c#如何做公司网站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.ritt.cn/news/22676.html

相关文章:

  • 网站添加手机站泰安网站优化公司
  • 专门做网站关键词排名seo排名赚app下载
  • 自己买个服务器做网站百度指数人群画像哪里查询
  • 武汉做网站多少钱seo顾问收费
  • 梧州门户网站什么是网站
  • 上海网页建站模板怎么做好seo内容优化
  • 小程序app制作需要多少钱网站seo外链平台
  • 如何编写一套网站模板免费推广链接
  • 龙岩网站建设一般宁波seo推荐优化
  • 如何做企业推广seo关键词优化指南
  • 做独立网站的好处电商运营去哪里学比较好
  • 网站页面footer的copy衡阳seo排名
  • wordpress smzdm主题班级优化大师免费下载安装
  • 保定网站公司网络推广网站的方法
  • 最棒的网站建设谷歌app官方下载
  • html制作电影网站搜索关键词查询工具
  • 那个网站可以做宣传广州代运营公司有哪些
  • ps做网站首页效果特效百度seo和谷歌seo有什么区别
  • wordpress 表单 验证码广州百度推广优化排名
  • 郑州哪些公司做网站比较好有效的网络推广
  • 徐州金桥建设监理有限公司网站搜狗搜索旧版本
  • 模型下载网站开发流程中国去中心化搜索引擎
  • 网站怎么做伪静态天津优化公司哪家好
  • 网站建设方式网络工程师培训机构排名
  • 给网站做插画分辨率免费大数据平台
  • 石家庄营销推广网站电商的推广方式有哪些
  • 西安网站建设阳建百度收录是什么意思
  • 海兴县做网站杭州百度代理公司
  • 做暧暧网站杭州网站优化公司哪家好
  • 做的怎样 英文网站seo服务建议