NoteDeep
Socket简介


Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。

基于TCP连接的Socket
TCP连接创建的是双向通道,双方都可以同时给对方发数据。但是谁先发谁后发,怎么协调,要根据具体的协议来决定。例如,HTTP协议规定客户端必须先发请求给服务器,服务器收到后才发数据给客户端。

Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现 分布在不同主机的相关进程之间的数据交换。

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

socket 编程就是要我们自己创建服务端和客户端,也就是说, socket 编程—— 就是要我们自己建立一个类似于 mysql 的服务端和客户端的应用。

评论列表