<<linux程序设计(第4版)>>读书笔记1

netstat p525
网络信息服务是通过本地查询,还是要连接到远程数据库 p527
网络配置文件?服务信息函数?linux下如何组网 p527
如何设置计算机的主机名 p528

套接字

第15章 套接字

套接字 p513,523
what 套接字:一种进程间通信机制(不仅可以本地进程通信,也可以两台不同机器间进程通信),管道概念的拓展。客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。
                    (套接字的创建和使用与管道是有区别的,因为套接字明确地将客户和服务器区分开来。套接字机制可以实现将多个客户连接到一个服务器)
p514
服务器应用程序用系统调用socket来创建一个套接字,它是系统分配给该服务器进程的类似文件描述符的资源, 它不能与其他进程共享

p518
知名服务所分配的端口号在所有Linux和Unix机器上都是一样的。它们通常(但并不总是如此)小于1024.一般情况下,小于1024的端口号都是为系统服务保留的,并且所服务的进程必须具有超级用户权限。X/Open规范在头文件netdb.h中定义了一个常量IPPORT_RESERVED,它代表保留端口号的最大值。端口号以及它们提供的服务通常都列在系统文件/etc/services中。编写基于套接字的应用程序时,请注意总要选择没有列在该配置文件中的端口号


套接字由3个属性确定:域(domain,又被称为协议族,protocol family。)、类型(type)、协议(protocol)。
                                 每个域可以使用一个或多个地址族来定义地址格式。地址的格式随域的不同而不同。套接字可以用地址作为它的名字


域(包含 网络介质地址(如果是IPV4,包括IP地址和IP端口)):指定套接字通信中使用的网络介质。
AF_INET(指Internet网络),其底层协议是网际协议(IP),只有一个地址族。
AF_UNIX,此域底层协议是文件输入/输出,它的地址是文件名。除非程序员使用一个绝对路径名,否则套接字将创建在当前目录下。为了让它更具通用,你需要将它创建在一个服务器及其客户都认可的可全局访问的目录(一般放在 /tmp 或 /usr/tmp)

how
1)端口号和地址传给接口前,需先将主机字节序转化为网络字节序(p526)(why:因为根据主机cpu的不同,有些是大端法,有些是小端法)


15.3 网络信息 p527
网络信息函数:包括 主机数据库函数,服务信息函数
机数据库函数:给定计算机名字——》这台计算机的主机数据库信息(包括IP地址)


客户端:socket,connect
服务器端:socket,bind,listen,accept

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值