linux socket学习笔记(第三章)
IP地址是一个32位的二进制数,它由点分十进制记法表示,每一个十进制数代表一个8位无符号整型数,所以范围在0-255之间。
一个IP地址分为网络地址和主机地址,网络地址区分不同网络,主机地址区分相同网络中不同主机。不同的IP地址类他们的主机网络地址也是不固定的,A,B,C类地址定义了某一主机特定的IP地址,D类为组播地址,E类为保留今后所用。具体的划分是: 分类 最低 最高 网络位 主机位
A 0.0.0.0 127.255.255.255 7 24
B 128.0.0.0 191.255.255.255 14 16
C 192.0.0.0 223.255.255.255 21 8
D 224.0.0.0 239.255.255.255 28 N/A
E 240.0.0.0 247.255.255.255 27 N/A
网络掩码的作用在于把网络地址从IP地址中提取出来,实际上代表网络掩码的IP号与某一特定的IP地址进行“按位与”。 分类 最低 最高 网络掩码
A 0.0.0.0 127.255.255.255 24
B 128.0.0.0 191.255.255.255 16
C 192.0.0.0 223.255.255.255 8
以下是对IP地址进行检查和分类的源代码
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char **argv)
{
int x;
struct sockaddr_in adr_inet;
int len_inet;
unsigned msb;
char class;
char *netmask;
static struct {
unsigned char ip[4];
} addresses[] = {
{ {
44, 135, 86, 12}}, { {
127, 0, 0, 1}}, { {
172, 16, 23, 95}}, { {
192, 168, 9, 1}},};
for (x = 0; x < 4; ++x) {
memset(&adr_inet, 0, sizeof(adr_inet));
adr_inet.sin_family = AF_INET;
adr_inet.sin_port = htons(9000);
memcpy(&adr_inet.sin_addr.s_addr, addresses[x].ip, 4);
len_inet = sizeof(adr_inet);
msb = *(unsigned char *) &adr_ine
相关文档:
0.Introduction
一说起操作系统, 我们的脑海马上就会闪出Windows, 据说Windows已经被安装到了1.5亿台计算机上.
然而在这里我还要提到另一种操作系统, 据估计这种类型的操作系统已经被安装到了全球30亿到40亿台家用电子产品中.
如果普及程度按照机器数量来计的话, 它的普及程度竟然是Windows的数十倍. 这款操作系统叫做TR ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
根据国外媒体报道,近日,朝鲜(
North
Korea
)推出一款自主品牌
Linux
发行版,此举有何意义?
(北)朝鲜是一个很特别的国度,国 ......
1. gz文件
这种文件可以使用gzip、gunzip、zcat进行解压:
gzip -d file_name
gunzip -d file_name
zcat file_name
2. tar.gz、tgz文件
这种压缩文件使用解压命令和tar命令配合使用,如:
gzip -d file_name.tar.gz
gunzip -d file_name.tgz
zcat file_name
然后执行:
tar xvf file_name.tar
某些版本的t ......
open-iscsi:http://www.open-iscsi.org/
iscsi 软件的评价
至于软件表现的强弱如何?此可透过实际的CPU 运算占用(占用百分比愈低愈好)、I/O 传输表现(每秒完成多少个I/O 处理,即IOPS)来评断,另外要重视支持的GbE 层级、错误修正层级,如10GbE 优于1GbE,以及ERL2 优于ERL1 优于ERL0。以及是否支持MPIO,MPIO 指的是一部 ......