- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lec2 socket编程
网络安全编程技术
第2讲:socket编程
任德斌
四川大学电子信息学院
主要内容
socket编程基础
基于UDP的socket编程
基于TCP 的socket编程
2
1 Socket编程的提出
站在应用程序实现的角度,应用程序如何方便
地使用协议栈软件进行通信呢?
如果能在应用程序与协议栈软件之间提供一个
软件接口,就可以方便客户与服务器软件的编程。
套接字应用程序编程接口是网络应用程序通过
网络协议栈进行通信时所使用的接口,即应用程序
与协议栈软件之间的接口,简称套接字编程接口
(Socket API)。
它定义了应用程序与协议栈软件进行交互时可
以使用的一组操作,决定了应用程序使用协议栈的
方式、应用程序所能实现的功能、以及开发具有这
些功能的程序的难度。
3
1.1 Socket编程的起源
加州大学伯克利(Berkley)分校开发并推广了
一个包括TCP/IP互联协议的UNIX,称为BSD
UNIX (Berkeley Software Distribution
UNIX)操作系统,套接字编程接口是这个操作
系统的一个部分。
后来的许多操作系统并没有另外搞一套其它
的编程接口,而是选择了对于套接字编程接口的
支持。
由于这个套接字规范最早是由Berkeley大学
开发的,一般将它称为Berkeley Sockets规范。
4
Windows Sockets
Winsock规范的核心内容是符合Berkeley
Socket风格的库函数,但为了使程序员能充分
利用Windows消息驱动机制进行编程,又定义
开发了一组针对Windows 的扩展库函数(本门
课程基本忽略该扩展)。
Windows Sockets规范中针对Windows 的扩
展部分,为应用程序开发者提供了开发
Windows应用软件的功能,它有利于程序员写
出更加高效的程序。另外,除了WSAStartup( )
和WSACleanup( )两个函数外,其他Windows扩
展函数的使用不是强制性的。
5
1.2 什么是套接字(SOCKET )
电插座与电话插座的作用
套接口是对网络中不同主机上应用进程之间进行
双向通信的端点的抽象,一个套接口就是网络上进
程通信的一端,提供了应用层进程利用网络协议栈
交换数据的机制。
6
应用进程、套接口、网络协议栈及操作系统的关系
7
什么是套接字(SOCKET )
从实现的角度来讲,非常复杂。套接字是
一个复杂的软件机构,包含了一定的数据结构,
包含许多选项,由操作系统内核管理。
从使用的角度来讲,非常简单。对于套接
字的操作形成了一种网络应用程序的编程接口
(API )。
把这一套操作套接字的编程接口函数称作
套接字编程接口,套接字是它的操作对象。
总之,套接字是网络通信的基石。
文档评论(0)