觉得有帮助请点赞关注收藏~~~
Socket编程,就是对网络中不同主机上的应用进程进行双向通信的端点的抽象,一个Socket就是网络上进程通信的一端,提供了应用层利用网络协议交换数据的机制,从所处的地位来讲,Socket上连应用进程,下连网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议进行交互的接口
提起Socket就不得避免的要说到TCP/IP 而Socket是应用层与TCP/IP协议通信的中间软件抽象层,它是一组接口,也就是复杂的TCP/IP协议族隐藏在Socket接口后面,让Socket去组织数据,以符合指定的协议
一、Socket简介
上面已经知道网络中的进程是通过Socket通信的,Socket起源于UNIX 而UNIX/LINUX基本原理之一就是一切皆文件,都可以用打开读写模式操作,Socket相当于是一个特殊的文件,Socket函数就是对网络进行的操作。
Socket的任务就是让服务器端和客户端进行连接,然后发送数据,先从服务端说起,服务端先初始化Socket,然后与端口绑定,对端口进行监听,调用Accept函数阻塞,等待客户端连接,在这时,如果客户端初始化一个Socket,然后连接服务器,如果连接成功,这时客户端与服务器端的连接就建立了,客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束
二、Socket函数的基本使用
Socket函数,既然Socket是 Open-Write/Read-Close模式的一种实现,那么Socket就提供了这些操作对应的函数接口
pub