当前位置:网站首页>socket inet_ pton() inet_ Ntop() function (a new network address translation function, which converts the expression format and numerical format to each other. The old ones are inet_aton(), INET_ ntoa
socket inet_ pton() inet_ Ntop() function (a new network address translation function, which converts the expression format and numerical format to each other. The old ones are inet_aton(), INET_ ntoa
2022-07-04 07:11:00 【Dontla】
New network address translation function :

Remove the buffer from CP At the beginning Internet The representation format of the number is converted to binary network format , And the interface type AF The results are stored from BUF In the start buffer .
The function of this code is similar , What's the difference ?
serv_addr.sin_addr.s_addr = inet_addr("192.168.1.116");

take Internet Host address from CP The numbers and dot symbols in are converted into binary data in network byte order .
New network address translation function inet_pton() and inet_ntop()
These two functions follow IPv6 Functions that appear , about IPv4 Address and IPv6 All addresses apply , Function p and n Each represents the expression (presentation) And numbers (numeric). The expression format of address (presentation) Usually ASCII character string , The numerical format (numeric) Is the binary value stored in the socket address structure .
#include <arpa/inet.h>
int inet_pton(int family, const char *strptr, void *addrptr); // Will be dotted decimal ip The address is converted into a numeric format for network transmission
Return value : If successful 1, If the input is not a valid expression 0, In case of error -1
const char * inet_ntop(int family, const void *addrptr, char *strptr, size_t len); // Convert numerical format to dot decimal ip Address format
Return value : If successful, a pointer to the structure , In case of error NULL
(1) Of these two functions family The parameter can be either AF_INET(ipv4) It can also be AF_INET6(ipv6). If , Take an unsupported address family as family Parameters , Both functions return an error , And will errno Set as EAFNOSUPPORT.
(2) The first function attempts to convert from strptr The string that the pointer points to , And pass addrptr The pointer holds the binary result , If successful, the return value is 1, Otherwise, if specified family The input string is not a valid expression format , So the return value is zero 0.
(3)inet_ntop Do the opposite conversion , From the numerical format (addrptr) Convert to expression (strptr).inet_ntop Functional strptr Parameter cannot be a null pointer . The caller must allocate memory for the target storage unit and specify its size , When the call succeeds , This pointer is the return value of the function .len Parameter is the size of the target storage unit , To prevent the function from overflowing its caller's buffer . If len Too small , Not enough to hold expression results , Then return a null pointer , Juxtaposition as errno by ENOSPC.
Reference article 1:inet_pton() and inet_ntop() Function details
Reference article 2:IP Address translation function :inet_pton
边栏推荐
- How can the old version of commonly used SQL be migrated to the new version?
- Design of test cases
- Two years ago, the United States was reluctant to sell chips, but now there are mountains of chips begging China for help
- jdbc连接es查询的时候,有遇到下面这种情况的大神嘛?
- 请问旧版的的常用SQL怎么迁移到新版本里来?
- Zhanrui tankbang | jointly build, cooperate and win-win zhanrui core ecology
- 2022 is probably the best year for the economy in the next 10 years. Did you graduate in 2022? What is the plan after graduation?
- Cell reports: Wei Fuwen group of the Institute of zoology, Chinese Academy of Sciences analyzes the function of seasonal changes in the intestinal flora of giant pandas
- Vulhub vulnerability recurrence 77_ zabbix
- The crackdown on Huawei prompted made in China to join forces to fight back, and another enterprise announced to invest 100 billion in R & D
猜你喜欢

Two years ago, the United States was reluctant to sell chips, but now there are mountains of chips begging China for help

leetcode825. Age appropriate friends

Experience installing VMware esxi 6.7 under VMware Workstation 16

centos8安装mysql.7 无法开机启动

MySQL 45 lecture learning notes (VII) line lock

win10微软拼音输入法输入文字时候下方不出现中文提示

Pangu open source: multi support and promotion, the wave of chip industry

Research on an endogenous data security interaction protocol oriented to dual platform and dual chain architecture

The number of patent applications in China has again surpassed that of the United States and Japan, ranking first in the world for 11 consecutive years

CMS source code of multi wechat management system developed based on thinkphp6, with one click curd and other functions
随机推荐
Latex中的单引号,双引号如何输入?
Pangu open source: multi support and promotion, the wave of chip industry
电子协会 C语言 1级 34 、分段函数
Mobile adaptation: vw/vh
Boosting the Performance of Video Compression Artifact Reduction with Reference Frame Proposals and
Responsive - media query
2022年6月小结
How to buy financial products in 2022?
Knowledge payment applet dream vending machine V2
Chain ide -- the infrastructure of the metauniverse
同一个job有两个source就报其中一个数据库找不到,有大佬回答下吗
大厂技术专家:架构设计中常用的思维模型
The difference between synchronized and lock
Selection (022) - what is the output of the following code?
If there are two sources in the same job, it will be reported that one of the databases cannot be found. Is there a boss to answer
【FPGA教程案例8】基于verilog的分频器设计与实现
MySQL 45 lecture learning notes (12) MySQL will "shake" for a while
What is the use of cloud redis? How to use cloud redis?
Introduction to spark core components
How can the old version of commonly used SQL be migrated to the new version?