++目的++ 开发采用套接字通信的C/S网络应用程序。
socket1.套接字是一个主机本地应用程序所创建的,为操作系统所控制的接口("门") .
**2.应用进程通过这个接口,使用传输层提供的服务,跨网络发送(/接收)报文到(/**从)其他应用进程。
Socket API
n 1981 提出于 BSD4.1 UNIX,
n 网络应用程序明确的创建 , 使用及释放套接字
n client/server 模式
n 通过 Socket API, 提供传输层的 2 类传输服务 :
¨ 不可靠的数据报传输
¨ 可靠的字节流传输
1. TCP进行套接字编程
n ++Socket:++ 应用进程和传输层协议 (UCP or TCP) 之间的门。
n ++TCP++ ++服务++ ++:++ 从 1 个进程到另 1个进程的字节流的可靠传输。
Socket 是从 UNIX 的 I/O 命令集发展而来的。Socket为上层实体提供一种透明的访问网络的能力,本质上说是传输层的服务原语。 TCP 中的套接字系统调用
客户必须初始联系服务器
n 服务器进程必须先运行
n 服务器进程必须创建套接字 ( 门 ) 来迎候客户的初始联系
客户如何初始联系服务器
n 创建客户本地 TCP socket
n 指定服务器进程的 IP 地址 , 端口号
n 一旦客户创建套接字 , 客户 TCP 就发起 3 次握手并建立与服务器 TCP 的连接
n
n 一旦客户初始联系 ( 敲门 ) 服务器 , 服务器 TCP 为服务器进程创建 1 个新的 socket 与客户进程通信
¨ 允许服务器与多个客户通信
¨ 源端口号被用来区分客户
从应用程序的角度来看
TCP为客户和服务器提供了
可靠的***,顺序的,***字节流的
传输***("管道")***。