1 / 3
文档名称:

8.Linux网络编程.doc

格式:doc   大小:27KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

8.Linux网络编程.doc

上传人:mh900965 2018/3/8 文件大小:27 KB

下载得到文件列表

8.Linux网络编程.doc

相关文档

文档介绍

文档介绍:Linux网络编程
IP地址 IP地址的作用是标识计算机的网卡地址,每一台计算机都有一个IP地址。在程序中是通过IP地址来访问一台计算机的。
IP地址具有统一的格式。IP地址是32位长度的二进制数值,存储空间是4个字节。例如:11000000 10101000 00000001 00000001是一台计算机的IP地址,但二进制的数值是不便于记忆的,可以把每个字节用一个十进制的整数来表示,。
端口号所谓端口,是指计算机中为了标识同一计算机中不同程序访问网络而设置的编号。
域名域名是用来代替IP地址来标识计算机的一种直观名称。
套接字(socket)的本义是插座,在网络中用来描述计算机中不同程序与其他计算机程序的通信方式。人们常说的socket是一种特殊的IO接口,它也是一种文件描述符。Socket是一种常用的进程间通信机制,通过它不仅能实现本机上的进程间通信,而且通过网络能够在不同机器上的进程间进行通信。
套接字有三个参数组成:IP地址,端口号,传输层协议(网络编程三要点)
常用socket类型
a、流式socket(SOCK_STREAM)
流式套接字提供可靠的、面向连接的通信流;它使用TCP协议,从而保 证了数据传输的正确性和顺序性。
b、数据报socket(SOCK_DGRAM)
数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行 传输,是无序的,并且不保证是可靠、无差错的。它使用数据报协议UDP。
c、原始socket
原始套接字允许对底层协议如IP或ICMP进行直接访问,它功能强大但 使用较为不便,主要用于一些协议的开发
socket数据结构
sockaddr 和 sockaddr_in
struct sockaddr {
unsigned short sa_family; /*地址族*/
char sa_data[14]; /*14 字节的协议地址,包含该 socket 的 IP 地址和端口号。*/
};
struct sockaddr_in {
short int sa_family; /*地址族*/
unsigned short int sin_port; /*端口号*/
struct in_addr sin_addr; /*IP 地址*/
unsigned char sin_zero[8]; /*填充 0 以保持与 struct sockaddr 同样大小*/
};
这两个数据结构等价的,可以互相转换,通常使用sockaddr_in更加方便
结构定义头文件
#include </>
sa_family
:IPv4 协议
6:IPv6 协议
AF_LOCAL:UNIX 域协议
AF_LINK:链路地址协议
AF_KEY:密钥套接字(socket)
地址格式转换通常用户在表达地址时采用的是点分十进制表示的数值(或者是以冒号分开的十进制IPv6地址),而在通常使用的socket编程中所使用的则是二进制值,这就需要将这两个数值进行转换。_aton、_ntoa,_ntop。_pton函数是将点分十进制地址映射为二进制地址,_ntop是将二进制地址映射为点分十进制地址
计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。