linux网络编程读书笔记(四)- Berkeley套接字

 

      一个套接字可以这样来解释:它是通过标准的UNIX 文件描述符和其他的程序通讯的一个方法。

 

      使用UNIX 的黑客高手有这么一句话:“恩,在UNIX 系统中,任何东西都是一个文件。”这句话描述了这样一个事实:在UNIX 系统中,任何对I/O 的操作,都是通过读或写一个文件描述符来实现的。

      一个文件描述符只是一个简单的整形数值,代表一个被打开的文件(这里的文件是广义的文件,并不只代表不同的磁盘文件,它可以代表一个网络上的连接,一个先进先出队列,一个终端显示屏幕,以及其他的一切)。在UNIX 系统中任何东西都是一个文件!!所以如果你想通过Internet 和另外一个程序通讯的话,你将会是通过一个文件来描述符实现的。你最好相信这一点。

 

      套接字有三种类型:流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM)及原始套接字。

 

1.流式套接字

      可以提供可靠的、面向连接的通讯流。

 

 

2.数据报套接字(SOCK_DGRAM)

      数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠,无差错。原始套接字允许对低层协议如IP 或ICMP 直接访问,主要用于新的网络协议实现的测试等。

 

      无连接服务器一般都是面向事务处理的,一个请求一个应答就完成了客户程序与服务

程序之间的相互作用。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值