本文主要是介绍getaddrinfo使用例子和socket编程的一些参考文章,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
getaddrinfo的作用就是按照提示填充指定的数据结构,以供bind connect 等函数直接使用,无需手动填充所需数据结构 例如 sockaddr,这个函数的作用是替换以前的gethostbyname
例子:
/*
** showipandprot.c
*/
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <netinet/in.h>int main(int argc, char *argv[])
{struct addrinfo hints, *res, *p;int status;char ipstr[INET6_ADDRSTRLEN];uint16_t port;if (argc < 2) {fprintf(stderr,"usage: %s hostname port\n",argv[0]);return 1;}memset(&hints, 0, sizeof hints);hints.ai_family = AF_UNSPEC; // AF_INET 或 AF_INET6 hints.ai_socktype = SOCK_STREAM;if ((status = getaddrinfo(argv[1], argv[2], &hints, &res)) != 0) {fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(status));return 2;}printf(
这篇关于getaddrinfo使用例子和socket编程的一些参考文章的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!