- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux 网络编程模型和实现
一 . 什么是 socket ?
二 . 为什么要学习 socket 编程 ?
三 . socket 编程中的套接字。
四 . 网络协议与套接口。
五 . 编写一个 socket 程序的基本步骤。
六 . 其它注意事项。
七 . 简单演示程序。
一 . 什么是 socket
socket 是一种特殊的 IO, 也是一种文件描述符。一个完整的
socket 都有一个相关描述:[协议,本地地址,本地端口,远程
地址,远程端口]。每一个 socket 都有一个本地的唯一一个
socket 号,由操作系统自动分配。
socket 最早起源于 Unix ,即套接字,一系列在网络中用来通信的
socket 接口就称为套接字接口。它在组网领域的首次使用是在
1970 年 2 月 12 日发布的文献 IETF RFC33 中被发现的,根据美国
计算机历史博物馆的记载,文献中写到:“命名空间的元素都可称
为套接字接口。一个套接字接口构成一个连接的一端,而一个连接
可完全由一对套接字接口规定。” [编外:最早的 windows1.0 系统发布于 1985 年
5 月]
socket 的基本操作模式是“ open—write/read—close” 。
二 . 为什么要学习 socket 编程
1. Internet 资源信息共享、网络进程通信几乎用的
全都是 socket.
2. socket( 套接字 ) 接口是独立于具体协议的网络
编程接口 , 它是 TCP/IP 、 UDP 网络的 API ,它
定义了许多函数或例程,程序员可以用它们来开
发 TCP/IP 、 UDP 网络上的应用程序。
3. socket( 套接字 ) 是通过标准的 UNI 文件描述符
和其它程序通讯的一个方法,目前已经被广泛移
植到各个平台。
三 . socket 编程中的套接字类型
套接字的三种类型 :
1. 流式套接字 (SOCK_STREAM)
流式的套接字可以提供可靠的、面向连接的通讯流。它使用了 TCP 协议。 TCP 保证了数据
传输的正确性和顺序性。
2. 数据报套接字 (SOCK_DGRAM)
数据报套接字定义了一种无连接的服务 , 数据报套接字定义了一种无连接的服务 ,
互独立的报文进行传输 , 是无序的 , 并且不保证数据的完整性与可靠性。使用
UDP 协议。
3. 原始套接字
原始套接字允许对低层协议如 IP 或 ICMP 直接访问 , 要用于新的网络协议实现的测
试等。
套接字所在层次示意图
Application program
Stream Datagram
Raw
Socket Socket
Socket
Interface Interface
Interface
TCP UDP
IP
Physical and data link layers
四 . 网络套接口
1. 网络模型:
应用层
表示层 应用层 telnet 、 ftp
文档评论(0)