#include <sys/socket.h>
#include <sys/types.h>
#include <error.h>
#include <netinet/in.h>//包含AF_INET定义需要的数据结构
#include <arpa/inet.h>//包含AF_INET定义的一些操作函数
#include <netdb.h>//获取端口对应的服务信息,以及得到客户端主机信息函数
struct hostent {
char * h_name;//主机名
char ** h_aliases;//别名列表
int h_addrtype;//地址类型
int h_length;//地址字节长度
char ** h_addr_list;//地址列表 该一级指针可以转换为struct sin_addr 提供给bind函数或者connect使用
};
struct hostent *gethostbyaddr(const * addr, size_t len, int type);
struct hostent *gethostbyname(const char * name);
//example
char * localhost = "localhost";
gethostbyname(localhost);
sethostbyaddr();
struct servent {
char * s_name;//服务名
char ** s_aliases;//服务别名列表
int s_port;//端口号
char * s_proto;// 协议类型
};
struct servent * getservbyname(const char * name, const char * proto);
struct servent * getservbyport(int port, const char * proto);
struct sockaddr_in {
short sin_family;//AF_INET
unsigned short sin_port;//端口号
struct in_addr sin_addr sin_addr;//internet 地址
};
struct in_addr {
long s_addr;
};
//http ftp库函数介绍
yum install libcurl-devel
include <curl/curl.h>
curl_global_init()->curl_easy_init() ->curl_easy_setopt()->curl_easy_perform()->curl_easy_cleanup()
//初始化libcurl 获取libcurl操作符 设置传输选项 完成传输任务 释放内存
smtp(传输邮件协议) pop(接收电子邮件协议) imap(通过internet获取邮件信息的库函数)函数库
libESMTP : yum install libesmtp-devel
#include <libesmtp.h>//包含libesmtp库
libspopc : yum install libspopc-devel
#include <libspopc.h>
及时通讯库----IM
libpurple