![424ebf80bb1ddeef7d5a4bcc95c14f9b.png](https://img-blog.csdnimg.cn/img_convert/424ebf80bb1ddeef7d5a4bcc95c14f9b.png)
想谈谈对socket的理解和实践。
TCP协议和UDP协议是TCP/IP协议最常用的两种协议,前者安全可靠,后者速度快。Socket提供了基于c语言的应用编程API,通过固定套路式调用这些API,就可以搭建出基于TCP协议或UDP协议的进程间通信,也叫socket通信。Socket通信主要目的就是交互消息,通过绑定的端口号来区分socket通信对应的应用程序。
Socket通信有几大优点
1、简单—api接口数量少,封装性好,套路少
2、灵活性好—可以通过read/write传输数据
3、扩展性强—最好的栗子就是ZMQ 基于socket api的lib库,https://zeromq.org/
4、跨平台,ubuntu系统和windows系统都默认支持这些api
固定套路如下
![fb48808d7987eac91bb8700dec2cdb3d.png](https://img-blog.csdnimg.cn/img_convert/fb48808d7987eac91bb8700dec2cdb3d.png)
每个api接口的函数请参考
伯克利套接字(BSD Socket)blog.csdn.net