什么是socket
- socket是一种操作系统提供的进程间通信机制。
- 操作系统中,通常会为应用程序提供一组应用程序接口(API),称为套接字接口(socket API)。应用程序可以通过套接字接口,来使用网络套接字,以进行数据交换。
- Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。而接口的具体实现都是内核来完成
各层网络程序设计接口
可以看到每层都有对应接口,编程目的也不同。
应用编程接口 API
socket是针对传输层编程,是操作系统提供的API。
应用编程接口API是应用进程的控制权和操作系统的控制 权进行转换的一个系统调用接口.本身传输层由操作系统控制,通过api交由应用进程控制。
几种典型的应用编程接口
socket套接字是unix操作系统定义的,不同的操作系统有对应socketapi,目前绝大数操作系统都支持。
Socket API
socket靠ip端口标志通信地址,对内,操作系统内则是有数据结构管理
Socket抽象
Socket API函数
这块主要是注意TCP UDP编程的不同,建立连接等函数的使用。应该对tcp udp写两个demo,把函数用一下