当前位置:网站首页>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
边栏推荐
- Research on an endogenous data security interaction protocol oriented to dual platform and dual chain architecture
- 期末周,我裂开
- Label management of kubernetes cluster
- Set JTAG fuc invalid to normal IO port
- [untitled] notice on holding "2022 traditional fermented food and modern brewing technology"
- Selection (023) - what are the three stages of event propagation?
- MySQL 45 lecture learning notes (VII) line lock
- MySQL relearn 2- Alibaba cloud server CentOS installation mysql8.0
- 云Redis 有什么用? 云redis怎么用?
- Boosting the Performance of Video Compression Artifact Reduction with Reference Frame Proposals and
猜你喜欢

uniapp小程序分包

Data double write consistency between redis and MySQL

Introduction to deep learning Ann neural network parameter optimization problem (SGD, momentum, adagrad, rmsprop, Adam)

Solution of running crash caused by node error

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

Transition technology from IPv4 to IPv6

《剑指Offer》第2版——力扣刷题

【Kubernetes系列】Kubernetes 上安装 KubeSphere

the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty‘

两年前美国芯片扭捏着不卖芯片,如今芯片堆积如山祈求中国帮忙
随机推荐
Tar source code analysis 8
Responsive mobile web test questions
A new understanding of how to encrypt industrial computers: host reinforcement application
抽奖系统测试报告
The important role of host reinforcement concept in medical industry
Latex中的单引号,双引号如何输入?
[thread pool]
在已经知道表格列勾选一个显示一列
About how idea sets up shortcut key sets
大厂技术专家:架构设计中常用的思维模型
《剑指Offer》第2版——力扣刷题
ABCD four sequential execution methods, extended application
Tar source code analysis 6
BasicVSR++: Improving Video Super-Resolutionwith Enhanced Propagation and Alignment
期末周,我裂开
[freertos] freertos Learning notes (7) - written freertos bidirectionnel Link LIST / source analysis
uniapp小程序分包
用于压缩视频感知增强的多目标网络自适应时空融合
Node connection MySQL access denied for user 'root' @ 'localhost' (using password: yes
Chapter 1 programming problems