sockaddrc++ SOCKADDR_IN 是什么意思?能通俗的举个类似汽车吃饭之类的例子吗?

sockaddr  时间:2021-07-19  阅读:()

Linux下socket编程的sockaddr_in结构体中的__SOCKADDR_COMMON (sin_);是什么意思

其定义如下: typedef unsigned short int sa_family_t; #define __SOCKADDR_COMMON(sa_prefix) sa_family_t sa_prefix##family 可以看到这就是一个整形变量(2字节),主要的用处是指明地址类型:取值主要是AF_UNIX|AF_INET|AF_INET6|AF_PACKET等等。

由于所有的地址结构体必然有地址类型,因此封装成一个统一的宏。

怎样在C++中使用C的结构体sockaddr

一. 问题描述: 1. 类定义: namespace T {class C{private:struct sockaddr_in* mSrc;}; 2. 编译报错: reference to ‘sockaddr_in’ is ambiguous error: candidates are: struct sockaddr_in communicator.h:14: error: struct T::sockaddr_in 3. 解释:后面再使用sockaddr_in的时候总认为是在namespace T中声明的,导致歧义。

二. 解决办法: 将C中的结构体sockaddr_in在类定义之前前置声明,在之后的使用中只需要像下面这样定义: sockaddr_in *mSrc;(不要加struct关键字) 当然,还有些细节没有搞清楚,先记着,以后补充。

。

。

SOCKADDR_IN的参数说明

sin_family指代协议族,在socket编程中只能是AF_INET sin_port存储端口号(使用网络字节顺序),在linux下,端口号的范围0~65535,同时0~1024范围的端口号已经被系统使用或保留。

sin_addr存储IP地址,使用in_addr这个数据结构 sin_zero是为了让sockaddr与sockaddr_in两个数据结构保持大小相同而保留的空字节。

s_addr按照网络字节顺序存储IP地址 sockaddr_in和sockaddr是并列的结构,指向sockaddr_in的结构体的指针也可以指向 sockaddr的结构体,并代替它。

也就是说,你可以使用sockaddr_in建立你所需要的信息, 然后用memset函数初始化就可以了memset((char*)&mysock,0,sizeof(mysock));//初始化 sockaddr_in mysock; memset((char*)&mysock,0,sizeof(mysock)); mysock.sin_family=AF_INET; mysock.sin_port=htons(1234);//1234是端口号 mysock.sin_addr.s_addr=_addr(192.168.0.1); 相关函数:_addr, _aton, _ntoa, htonl, htons, MAKEWORD, WSASocket, WSAHtons……

c++ SOCKADDR_IN 是什么意思?能通俗的举个类似汽车吃饭之类的例子吗?

sockaddr_in这是Socket编程里用到的结构体,Winsock中使用sockaddr_in结构指定IP地址和端口信息 struct sockaddr_in{ short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; } sin_family一般为AF_INET,表示使用IP地址族;sin_port是以网络字节 序表示的16位端口号;sin_addr是网络字节序的32位IP地址;sin_zero 字段一般不用,用0填充 创建套接口 函数原型:SOCKET socket(int af,int type,int protocol); 函数参数: af参数:说明套接字接口要使用的协议地址族,地址族与协议族含义相同。

如果想建立一个TCP或UDP,只能用常量AF_INET表示使用互联网协议(IP)地址。

type参数:描述套接口的类型,af是AF_INET的时候只能为SOCK_STREAM、SOCK_DGRAM或SOCK_RAW protocol参数:说明该套接口使用的特定协议,当协议地址族af和协议类型type确定后,协议字段可以使用的值是限定的 返回值:成功返回一个整型代表创建成功的socket编号;失败返回INVALID_SOCKET,可以使用WSAGetLastError()获得错误编号。

炭云188元/年,上海CN2 VPS/2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP

炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...

GigsGigsCloud($26/年)KVM-1GB/15G SSD/2TB/洛杉矶机房

GigsGigsCloud新上了洛杉矶机房国际版线路VPS,基于KVM架构,采用SSD硬盘,年付最低26美元起。这是一家成立于2015年的马来西亚主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,所选均为国内直连或者优化线路,比如洛杉矶机房有CN2 GIA、AS9929或者高防线路等。下面列出这款年付VPS主机配置信息...

腾讯云爆款秒杀:1C2G5M服务器38元/年,CDN流量包6元起

农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...

sockaddr为你推荐
腾讯无线腾讯的全民wifi可以作为无线网卡接受wifi使用吗?他有一个电脑游戏的加速,它的原理是什么?是硬湖南卫视网络电视湖南数字电视360杀毒在线安装360在线杀毒怎么弄物联卡官网物联卡是正规流量卡吗?微信语音在哪个文件夹电脑版微信的语音文件夹在哪个文件夹创业好项目论坛谁能提供点真实可靠的,网络创业赚钱项目?2020带来好运的微信头像2020带来好运抖音网名1518qq几开头的QQ号好linux操作系统好吗Linux操作系统和WINDOWS7操作系统哪个好500人同时微信如何扩大到500人群
国外域名注册 查域名 游戏服务器租用 七牛优惠码 sharktech 罗马假日广场 加勒比群岛 线路工具 云主机51web 中国智能物流骨干网 cpanel空间 cdn加速是什么 电信托管 独立主机 wordpress中文主题 学生服务器 godaddy空间 移动王卡 512内存 register.com 更多