博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
套接字编程简介
阅读量:2177 次
发布时间:2019-05-01

本文共 1161 字,大约阅读时间需要 3 分钟。

套接字地址结构的比较:



 

字节排序函数

                     

h代表host,n代表network,s代表short,l代表long。s是16位的值(端口号),l是32位的值(IPv4地址)。

 

 

 

字节操纵函数

#include
void bzero(void *dest, size_t nbytes);

把目标字符串中指定树木的字节置为0。使用此函数来把一个套接字地址结构初始化为0。

 

#include
void *memset(void *dest, int c, size_t len);

把目标字符串中指定数目的字节值为值c。

 

 

字符串与网络字节序转换

通常使用的IP地址表示是点分十进制表示法,而网络字节序(存放在套接字地址结构中的值)是二进制。

 

IPv4:

inet_addr函数:(此函数已废弃,应该用inet_aton函数)

类型in_addr_t在内部声明为32位整数型。

将string指向的C字符串转换为一个32位的网络字节序二进制值。并返回。


 

inet_aton函数:与inet_addr函数在功能上完全相同,只不过函数利用了in_addr结构体

将string指向的C字符串转换为一个32位的网络字节序二进制值。

 

 

inet_ntoa函数,将网络字节序整数IP地址转换成熟悉的字符串(点分十进制形式)

 

IPv4和IPv6通用

 inet_pton和inet_ntop函数

p(presentation)和n(numeric)分别代表表达数值

#include
int inet_pton(int family, char *strptr, vpid *addrptr);const char *inet_ntop(int family, const void *addrptr, size_t len); //返回指向结果的指针

family参数可以是AF_INET或AF_INET6

inet_pton转换由strptr指针所指的字符串,并通过addrptr指针存放二进制结果。

inet_ntop进行相反的转换,从数值格式(addrptr)转换到表达格式(strptr),并返回指向结果的指针。

 

sock_ntop和相关函数

自行编写一个名为sock_ntop的函数,以指向某个套接字地址结构的指针为参数,查看该结构的内部,然后调用适当的函数返回该地址的表达格式。

char *sock_ntop(const struct sockadrr *sockaddr, socklen_t addrlen);

sockaddr指向一个长度为addrlen的套接字地址结构。本函数用它自己的景泰缓冲区来保存结果。而指向该缓冲区的一个指针就是它的返回值。

你可能感兴趣的文章
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>
sublime text3 快捷键修改
查看>>