`
yuelven
  • 浏览: 8411 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

阅读更多

 

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

 

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

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

 

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

 

1.流式套接字

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

 

 

2.数据报套接字(SOCK_DGRAM)

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

 

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

程序之间的相互作用。

 

 

 

分享到:
评论

相关推荐

    berkeley套接字

    Berkeley套接字应用程序接口(API)包括了一个用C语言写成的应用程序开发库,主要用于实现进程间通讯,在计算机网络通讯方面被广泛使用。 Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统...

    linux环境下的网络编程

    第六章 Berkeley 套接字; 第七章网络安全; 第八章 Ping 例; 第九章 tftp 例程; 第十章远程命令执行; 第十一章远程注; 第十二章远程过程调; 第十三章远程磁带的访问; 第十四章 WWW 上HTTP 协

    Linux网络编程

    第六章 Berkeley 套接字............ 136 6.1 引言......... 136 6.2 概述......... 136 6.2.1 Socket 的历史..... 136 6.2.2 Socket 的功能..... 136 6.2.3 套接字的三种类型............. 138 6.3 Linux 支配的...

    building-ha-scalable-applications-with-berkeley-db-whitepaper

    building-ha-scalable-applications-with-berkeley-db-whitepaper

    Berkeley socket 套接字

    这样做的结果就出现了插口接口(Berkeley Socket),这个系统被称为Berkeley UNIX 或BSD UNIX。(TCP/IP 首次出现在BSD 4.1 版本release 4.1 of Berkeley Software Distribution)。 由许多计算机厂商,都采用了...

    Java-Edition-BerkeleyDB-3.1.0.zip_BerkeleyDB

    Java-Edition-BerkeleyDB-3.1.0,国外的开源数据库,供大家参考

    UC-Berkeley Data Warehouse Architecture

    UC-Berkeley Data Warehouse Architecture

    Linux网络编程smallsh 源码 (可直接运行)

    第六章 Berkeley 套接字 第七章 网络安全性 第八章 Ping 例程 第九章 tftp 例程 第十章 远程命令执行 第十一章 远程注册 第十二章 远程过程调用 第十三章 远程磁带的访问 第十四章 WWW 上 HTTP 协议

    linux 网络编程源代码

    1.1 网络的历史.......................................................................................................1 1.2 OSI 模型........................................................................

    linux网络编程 推荐

    第六章 Berkeley 套接字 第七章 网络安全性 第八章 Ping 例程 第九章 tftp 例程 第十章 远程命令执行 第十一章 远程注册 第十二章 远程过程调用 第十三章 远程磁带的访问 第十四章 WWW 上 HTTP 协议

    linux 网络编程

    第六章 Berkeley 套接字. 第七章 网络安全性.... 第八章 Ping 例程.. 第九章 tftp 例程.... 第十章 远程命令执行 第十一章 远程注册.... 第十二章 远程过程调用 第十三章 远程磁带的访问.... 第十四章 WWW 上 HTTP ...

    linux 编程技术

    LINUX系统分析与编程技术,介绍了在Linux操作系统下进行网络编程所需要的各种知识,从基本的进程控制、通信到Berkeley套接字都有讲解

    Linux网络编程学习资料

    进程间的通信,通信协议简介,Berkeley套接字,Linux下C语言使用和调试等等

    analyzerbeans-berkeleydb-0.21.jar

    官方版本,亲测可用

    Windows环境的网络编程

    较为详细的介绍Windows下socket编程,各种机制原理和函数介绍,是郑大的教学课件

    Python-Berkeley神经网络文本依存解析器

    Constituency Parsing with a Self-Attentive Encoder (ACL 2018)

    swift-httpd:使用原始Berkeley套接字和Pthreads用Swift编写的小型http服务器

    迅捷的httpd 使用原始Berkeley套接字和std :: threads用Swift和C ++编写的小型http服务器。

    analyzerbeans-berkeleydb-0.29-sources.jar

    官方版本,亲测可用

Global site tag (gtag.js) - Google Analytics