socke相当于插座,也就是接口
一、基本概念
socket使用之前,首先要申请一个socket对象。同时要知道对方的socket,然后请求连接,双方建立连接,然后就可以进行收发数据。
socket利用网络间通信设施进行进程通信,对通信的细节不用关心。
【socket五元组:协议、本地地址、本地端口、远程地址、远程端口】
socket面向客户-服务器模型而设计,针对用户和服务器程序提供不同的socket系统调用。
客户端随机申请一个socket,服务器拥有全局socket,巧妙的解决了 进程之间建立通信连接的问题。
二、套接字的分类
1、流式套接字:SOCK_STREAM
流式套接字可以提供可靠地,面向连接的通讯流
流式套接字使用TCP协议,TCP保证了你的数据传输是正确的,并且是有顺序的。
编程流程:
首先通过调用socket()创建一个套接字,然后调用bind()绑定IP地址和端口号,再调用listen()做好监听的准备,并规定请求队列长度,之后调用accept()来接受连接。客户在建立socket之后们就可以调用connect()来想服务器发起连接。连接一旦建立,客户端和服务器端之间就可以通过read()和w