————————————————————————————————————————————————————————
1 套接字 (socket) 网络通信的基本单元,是应用层和传输层的接口,可以将套接字看作不同主机上进程的双向通信的端点,
2 套接字的类型:
a)流套接字
b)数据报套接字
c)原始套接字
3 socket编程的基本模式:
a)要进行网络通信,至少需要一对套接字,一个是客户端套接字(clientSocket)一个是服务器的套接字(serverSocket)
b)套接字之间的连接步骤有3步
- 服务器监听
- 客户端请求
- 客户端确认连接
4 阻塞方式和非阻塞方式处理
当套接字是阻塞模式的时候,这就意味着套接字的调用不能立即完成,进程进入睡眠状态,等待操作的完成。
在一个非阻塞的套接字上进行套接字的调用,如果调用过程不能马上完成,那么调用函数就会马上返回,而调用过程则继续。
5 异步处理方式
在进行异步方式的套接字调用的时候,调用函数立即返回,当操作完成或发生错误的时候,系统以某种方式通知进程,
异步和非阻塞的区别: 在启动非阻塞的时候并不像异步那样立即返回,而是操作不能立即完成而进程必须是睡眠的才返回。
————————————————————————————————————————————————————————
1 创建套接字
SOCKET socket (int af,int type ,int protocol);
第一个参数 int af 指明协议簇,
第二个参数 int type socket类型
第三个参数int protocol 套接字使用的协议 ,一般0即可
——————————————————————————
套接字类型 注释
——————————————————————————
SOCKET_STREAM 字节流套接字
SOCKET_DGRAM 数据报套接字
SOCKET_RAM 原始套接字
——————————————————————————
协议簇和不同的套接字类型组合用于不同的通信协议
AF_INET and SOCKET_STRTAM结合:用于TCP协议
AF_INET and SOCKET_DGRAM结合:用于UDP协议
AF_INET and SOCKET_RAM结合:用于ICMP,IGMP等协议
——————————————————————————
eg:s = socket (int AF)
未完待续~