linuc c网络
来源:互联网 发布:程序员专业术语 编辑:程序博客网 时间:2024/06/05 08:52
linuc c网络
什么是网络编程
网络编程的基本概念:套接字=传输协议+端口号+IP地址
套接字相关的数据类型:
struct sockaddr
{
unsigned shor int sa_family;
char sa_data[14];
};
sa_family:指定通信的地址类型。如果是TCP/IP通信,则改制时AF_INET
sa_data:最多使用14个字符长度,用来保存IP地址和端口信息
struct socketaddr_in
{
unsigned short int sin_family;
uint16_t sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[8];
};
这个结构体的成员作用如下所示。
sin_family: 与sockaddr结构体中的sa_family相同、
sin_port: 套接字使用的端口号
sin_addr:需要访问的IP地址
sin_zero:未使用的字段,填充为0
在这一结构体中,in_addr也是一个结构体,作用时用来保存一个IP地址
struct in_addr
{
uint32_t s_addr;
};
域名和IP地址
gethostbyname:用域名取得主机的IP地址:
头文件:sys/socket.h netdb.h
函数定义:struct hostent *gethostbyname(const char * name);
函数说明:name是一个表示域名的字符串。函数会把这个域名转换成一个结构体返回。
在域名解析时,可能没有这个域名或域名服务器发生错误。可能返回错误信息,可以用h_error来捕捉错误编号。
struct hostent{char*h_name; //正式的主机名char**h_aliases; //这个主机的别名inth_addrtype;//主机名的类型inth_length;//地址的长度char**h_addr_list;//从域名服务器取得的主机的地址}
0 0
- linuc c网络
- Linuc--C--getchar
- c语言修改linuc环境变量
- linuc下c语言与mysql的连接
- linuc scp
- linuc下库操作
- linuc之waitpid
- Linuc IPC之信号量
- linuc 文件夹的拷贝
- linuc 多线程编程(一)
- linuc 线程间同步semaphore
- vmware LInuc 上网、共享文件与分区
- Linuc shell编程几大循环与判断
- C#网络编程初探
- C#网络编程初探
- C#网络编程
- C#网络编程初探
- C#网络编程初探
- 应用内直接跳转AppStore方式
- 数据库三范式
- Java学习笔记(59)-----------50道Java线程面试题
- STM8、32 库函数自动生成器
- log4j2 日志配置
- linuc c网络
- 上机题目(中级)- 用小数形式输出指定符号出现的频率 (Java)
- 第一次写博客,先上传一下平常开发android的时候做的一点笔记
- 模块(加载函数和卸载函数)
- Android笔记
- mysql数据类型
- iOS开发技巧(系列十三:UIRefreshControl下拉刷新)
- Linux系统crontab 定时任务 补充
- javascript 类,只读属性,闭包