网络编程学习_socket辅助函数(一)
来源:互联网 发布:网络大学入学考试 编辑:程序博客网 时间:2024/06/08 18:47
本文为unp第三章学习笔记
一,ipv4地址结构:
struct in_addr{ in_addr_t s_addr;};struct sockaddr_in{ sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8];};
其中sin_zero没有用到,不过通常将整个struct 用memset置0
sin_family = AF_INET (IPv4)
sin_port 为网络字节,需要用htons转一下
sin_addr.s_addr需要用地址转换函数inet_addr转换
一般来说,各socket函数里的地址参数类型都是sockaddr*,需要进行强制类型转换, 其原因是这些函数必须处理不同协议的地址
二,字节转换函数
htons, htonl, ntohs,ntohl ; n=net h=host s=short l=long
三,地址转换函数
用于从点分十进制形式的字符串转成in_addr_t (uint32_t)
#include <arpa/inet.h>
int inet_aton(const char* strptr,in_addr* addr);
in_addr_t inet_addr(const char* strptr);
char* inet_ntoa(struct in_addr inaddr);
个人理解 a=ANSI C str, n=net
其中1和2等效,将字符串转成in_addr 或in_addr_t 好像2更常用, 3相反
函数1很蛋疼: 运行成功return 1, 失败return 0. 可能这是它用的少的原因吧
4
0 0
- 网络编程学习_socket辅助函数(一)
- android网络编程_socket(一)
- 网络编程_socket基础
- TCP/IP网络编程_Socket
- 网络编程_Socket通信原理图解
- 网络编程学习笔记(辅助数据)
- linux网络编程中常用的辅助函数
- Unix网络编程——常见辅助函数总结
- 网络编程学习(一)
- 网络编程学习(一)
- 黑马程序员_Java学习日记19_Socket编程1
- 黑马程序员_Java学习日记20_Socket编程2
- 黑马程序员_Socket编程
- OpenCV_(3):编程辅助函数
- Linux高级编程复习 第九章 信号量同步_socket网络编程基础_TCP_UDP
- Windows网络编程学习(一)
- 网络编程学习笔记一
- 黑马程序员_Socket网络通信
- 腾讯暑期实习笔经面经-为你准备(独家资料)
- 中文Ubuntu里用户目录里的路径改成英文
- 搭建Hadoop 2.2.0 和 HBase 0.94.14 集成
- 黑马程序员_Java_网络编程(一)
- jsp和Servlet区别
- 网络编程学习_socket辅助函数(一)
- 文件流高级-压缩文件和解压缩
- 操作系统课堂笔记(6)文件管理
- 数据类型
- 二叉排序树的操作
- 【日常】FAB法则在产品设计的应用
- 抽象类
- 向上转型
- nodejs--underscore模块的使用