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

网站类型怎么分wordpress页眉插件

网站类型怎么分,wordpress页眉插件,免费户型图设计软件,图片制作器下载文章目录 套接字的类型流套接字数据报套接字原始套接字 套接字地址获取套接字地址 协议族和地址族 套接字的类型 Linux系统的套接字有三类:流套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAM)。 流套接字 用于面向连接…

文章目录

  • 套接字的类型
    • 流套接字
    • 数据报套接字
    • 原始套接字
  • 套接字地址
    • 获取套接字地址
  • 协议族和地址族

套接字的类型

Linux系统的套接字有三类:流套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAM)。

流套接字

用于面向连接的、可靠的数据传输服务。该服务将保证数据能够实现无差别、无重复发送,并按顺序接收。流套接字用于TCP协议。

数据报套接字

提供一种无连接的服务。该服务并不能保证数据的可靠性,数据在传输过程中可能会丢失或重复,且无法保证顺序地接收到数据。一般用于UDP协议,如果要为传输增加可靠性,可以在程序中实现,例如使用kcp协议去封装udp协议。

原始套接字

允许对较低层次的协议直接访问,比如IP、ICMP,它常用于检验新的协议实现,或者访问现有服务中配置的新设备,因为原始套接字可以自如地控制Linux下的多种协议,能够对底层的传输机制进行控制,所以可以应用原始套接字来操控网络层合传输层应用。比如:接收发送发向本机的ICMP、IGMP协议包,或者接收TCP/IP栈不能够处理的IP包,也可以用来发送一些自定义报头或者自定义协议的IP包。网络监听技术经常会用到原始套接字。

总:原始套接字合标准套接字(前两个)的区别在:原始套接字可以读写内核没有处理的IP数据报,而流套接字只能读取TCP的数据,数据报套接字只能读取UDP的数据。

套接字地址

一个套接字嗲表通信的一端,每端都有一个套接字地址,这个socket地址包含了ip地址和端口等信息。有了ip地址便可以区分主机,有了端口号,便可以区分主机上的进程。套接字地址一般分为 通用套接字地址 和 专用套接字地址。
通用socket地址: sockaddr
专用套接字地址:sockaddr_in 和 sockaddr_in6 (分别是IP4和IP6)

获取套接字地址

获取本地套机字地址:getsockname
获取远程套接字地址:getpeername

#incudle <sys/socket.h>
int getsockname(int sockfd, struct sockaddr* localaddr, socklen_t addrlen);
int getpeername(int sockfd, struct sockaddr* peeraddr, socklen_t addrlen);
参数: 套接字描述符, 通用套接字地址结构体(用来存放结果的), 
通用套接字地址结构体的长度,需要使用sizeof(struct sockaddr_in)初始化赋值

例子:获取绑定前后的套接字地址

#include <cstdio>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <errno.h>#define PORT 10051
#define SER_IP "192.168.159.129"int main(){int sfp;struct sockaddr_in serv = {0};serv.sin_port = htons(PORT);serv.sin_addr.s_addr = inet_addr(SER_IP);serv-sin_family = AF_INET;struct sockaddr_in result = {0};char on = 1;int res_len = sizeof(struct sockaddr_in);int err;sfp = socket(AF_INET, SOCK_STREAM, 0);if( -1 == sfp){printf("socket fail\n");return -1;}printf("socket ok\n");//打印bind前的socket地址printf("ip = %s, port = %d\n", inet_ntoa(result.sin_addr), ntohs(result.sin_port));//允许地址立即复用setsockopt(sfp, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));//打印绑定后的本地套接字地址if( -1 == bind(sfp, (struct sockaddr*)(&serv), sizeof(struct sockaddr)) ){prinf("bind fail:%d\n");return -1;}printf("bind ok\n");getsockname(sfp, (struct sockaddr*)&result, (socklen_t*)&res_len)); printf("ip = %s, port = %d\n", inet_ntoa(result.sin_addr), ntohs(result.sin_port));return 0;
}

协议族和地址族

理论上建立socket时,如果是指定协议的,应该使用PF_xxxx,如:PF_INET;如果是指定地址的,应该使用AF_xxxx,如:AF_INET。当然,两者的值是相同的,混用也问题不大。

在Ubuntu20.04下,/usr/include/x86_64-linux-gnu/bits/socket.h中定义了地址族和协议族。

http://www.yayakq.cn/news/423287/

相关文章:

  • 大连市网站建设怎么做好网站
  • 平顶山建设局网站科技感网站设计
  • 装修公司合作平台的网站做设计需要知道的几个网站
  • 海络网站网站图片多大
  • 河南网站建设的详细策划自己做网站怎么搜索
  • 镇江网站制作咨询西安seo网站优化
  • 为什么有的网站只有版权没有备案有没有资源免费的
  • 成都手机网站建设有网站源代码 怎么样建设网站
  • 北京网站建设公司哪个好武安市网站建设
  • 企业可以在哪些网站做免费宣传湖州做网站建设的公司哪家好
  • 向网站上传文件怎么做wordpress 优秀作者
  • 深圳规划建设局网站做网站给女朋友
  • 娱乐网站建设ppt云浮 网站建设
  • 网站建设技术服务费记什么科目上海网站制作
  • 网站建设维护方案ppt国外客户的网站电话
  • 未支付网站建设挂哪个科目wordpress会员功能主题
  • 网站开发一般用什么服务器学院网站设计案例
  • 做网站都用什么软件如何推广网站
  • 做哪个网站最简单余姚 网站建设
  • 做企业网站 长春h5企业网站只做
  • 做网站是用的那个开发软件百度公司网站推广怎么做
  • 甘肃省长城建设集团网站网站名百度搜不到
  • 软件下载平台哪个好深圳网站seo优化
  • 360报危险网站怎样让客户做网站
  • 网站开发还是做数据库开发文化礼堂建设情况网站
  • wordpress手机端网站模板下载失败南京做网站公司
  • 天河区建设网站深圳互联网公司排行榜100
  • 济南建站都选企汇优先做后付教人做网站的视频
  • 仿租号网站源码网站开发昆明网站建设介绍
  • 用html做个人网站代码济南赢动网站建设