【并发编程七】进程通信——套接字(socket)_80行代码实现一个聊天软件
- 前言:
80行代码实现一个聊天软件。
刚写完《【操作系统二】图解TCP/IP模型+实战》、和《【操作系统三】图解网络IO(bio\nio\slect\epoll)》,和网络通信相关的基本都介绍清楚了,所以原本这篇socket通信不想再写了,但是考虑到【并发编程】系列不完整,所以才写了下了这篇。所以本篇文章侧重Windows系统下socket的代码实战(写了一个简单的聊天软件),如果对什么是socket还没有清晰的印象,建议先读上面的两篇文章,然后再看本篇。
一、简介
套接字是什么?基于上面两篇文章,关于socket简单说两句。
- 四元组
- 近于应用层和传输控制层。
- 通过系统调用,返回内核的文件描述符。
- 阻塞和非阻塞在于,阻塞会在没有消息时会等待,非阻塞在没有消息时会返回一个错误,让程序继续向后运行。
二、相关知识介绍
1、winsock1.h、winsock2.h
WinSock(Windows Socket)编程依赖