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

儿童网站模板 html做百度快照要先有网站吗

儿童网站模板 html,做百度快照要先有网站吗,昆山建设银行网站,肇庆企业自助建站编程的整体框架 bind:绑定服务器:TCP地址和端口号 receivefrom():阻塞等待客户端数据 sendto():指定服务器的IP地址和端口号,要发送的数据 无连接尽力传输,UDP:是不可靠传输 实时的音视频传输&#x…

编程的整体框架

bind:绑定服务器:TCP地址和端口号
receivefrom():阻塞等待客户端数据
sendto():指定服务器的IP地址和端口号,要发送的数据
        无连接尽力传输,UDP:是不可靠传输
        实时的音视频传输,DNS域名解析包

服务端编写

step1:socket

int socket(int domain,int type,int protocol);
参数domainAF_INETAF_INET6AF_UNIX,AF_LOCALAF_NETLINKAF_PACKET
typeSOCK_STREAM: 流式套接字,唯一对应于TCPSOCK_DGRAM:数据报套接字,唯一对应着UDPSOCK_RAW:原始套接字
protocol一般填0,原始套接字编程时需填充
返回值成功返回文件描述符出错返回-1

step2:addr

int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

sockfd
通过socket()创建的套接字文件描述符,例如int sockfd = socket(AF_INET, SOCK_STREAM, 0);2level
选项的协议层级,常见值:
SOL_SOCKET:通用套接字层级(如SO_REUSEADDR)
IPPROTO_TCP:TCP协议层级(如TCP_NODELAY)
IPPROTO_IP:IP协议层级(如IP_TTL)optname
具体选项名称,常用选项:
SO_REUSEADDR:允许地址复用(解决bind时的Address already in use问题)
SO_RCVTIMEO:设置接收超时时间
SO_SNDBUF:调整发送缓冲区大小optval
选项值的指针,类型根据选项不同而变化:
布尔值:int reuse = 1;
时间结构:struct timeval timeout = {5, 0};(5秒超时)
缓冲区大小:int buf_size = 8192;optlen
选项值的字节长度,例如sizeof(reuse)

step3:bind,错误返回-1

定义结构体

清空结构体

填充

调用bind函数

sockaddr_in创建的是网络字节序

主机字节序到网络字节序
u_long htonl(u_long hostlong);
u_short htons(u_short short);

step4:while中revcform

  • sockfd:需要读取的套接字描述符。
  • buf:数据读取到的缓冲区的指针。
  • len:buf的最大长度。
  • flags:一组影响函数行为的标志位。
  • src_addr:一个指向源地址结构的指针。
  • addrlen:一个指向源地址结构长度的指针。

成功时返回接收的字节数,失败时返回-1

失败返回-1

需要将获取的网络字节序转换成字符串

将32位网络字节序二进制地址转换成点分十进制的字符串
inet_pton()int inet_pton(int af, const char* src ,void* dst)将IPV4/IPV6 的地址转换成binary格式使用于IPV4/IPV6能正确处理255.255.255.255的转换问题参数:1.地址协议族(AF_INET或AF_INET6)2.src:是一个指针(填写分点形式的IP地址(主要指IPV4))dst:转换的结果给到dst

我们是接收,用的是下面的

inet_ntop(int af,const void *src,char *dst,socklen_t size)
    把ipv4和ipv6的网络字节序变成本地的字符串形式的IP地址
参数
    1.af:地址协议族(AF_INET或AF_INET6)
    2.src:是一个指针(32),(结构体里内容)
    3.dst:输出结果为32位点分形式的IP地址
    4.size:长度

成功返回非零

客户端编写

客户端是需要传参进去的,main就需要带参数

进行判断传参格式是否正确

使用socket函数,判断是都成功

成功之后将键盘输入的端口好转型为int给到定义的port

之后编写结构体(bind函数那部分内容)

while循环键盘输入内容

下面是sendto()函数知识点

头文件:#include < sys/types.h >
头文件:#include < sys/socket.h >int sendto ( socket s , const void * msg, int len, unsigned int flags,const struct sockaddr * addr , int tolen ) ;函数说明:sendto() 用来将数据由指定的socket传给对方主机。参数说明:s:已建好连接的socket,如果利用UDP协议则不需经过connect操作。msg:待发送数据的缓冲区len:缓冲区长度flags:调用方式标志位, 一般为0, 改变flags,将会改变sendto发送的形式。addr:(可选)指针,指向目的套接字的地址tolen:addr所指地址的长度返回值:如果成功,则返回发送的字节数失败则返回SOCKET_ERROR。

http://www.dtcms.com/a/418193.html

相关文章:

  • Games101 第六章 Shading(着色)
  • 电子电气架构 --- 智能座舱域环境感知和人机交互系统
  • 数字营销网站主页优化制作网页动画的软件
  • CSS详篇
  • Memblock-3
  • 大数据毕业设计选题推荐-基于大数据的全国饮品门店数据可视化分析系统-Hadoop-Spark-数据可视化-BigData
  • 【后端开发】golang部分中间件介绍(任务调度/服务治理/数据库/缓存/服务通信/流量治理)
  • 建设一个自己的网站需要多少钱站长统计官方网站
  • 烟台装修公司网站建设注册公司流程和费用时间
  • java设计模式:工厂方法 + 建造者模式
  • 3、Lombok进阶功能实战:Builder模式、异常处理与资源管理高级用法
  • Linux 内核开发 的核心知识点
  • 【Linux系列】并发世界的基石:透彻理解 Linux 进程 — 理解操作系统
  • 小米17对比iPhone 17:2025年深度对比
  • 借助Aspose.Email,使用 Python 将 EML 转换为 MHTML
  • 免费做名片的网站专业网站开发设计
  • 微服务项目->在线oj系统(Java-Spring)-后台管理(1)
  • 怎么防止网站攻击做网站价格表
  • 1、Product-Service 服务设计规范文档
  • 网深科技NetInside网络流量异常分析报告
  • 基于TCP的简易端口扫描器
  • 大腾智能助力深圳市联合创造科技,实现精密触控屏行业数字化升级
  • MR+无人机-增强态势感知、更高效的现场检查和增强
  • 无人机遥控器使用与信号连接问题处理
  • 德克西尔抗振倾角仪,守护无人机云台稳定清晰
  • Mosquitto:MQTT Broker入门与分布式部署最佳实践
  • 无人机姿态控制技术详解
  • 做网站所需要的公司细责及条款微信小程序推广
  • keepalived部署
  • 前端实现抽烟识别:从算法到可视化