boost::asio是boost库的一个名字空间,包含了tcp,udp编程的一些类与方法,比如
如果你是第一次看这个,可能不太懂,不要紧,就把它当做是一些类就可以,什么socket,tcp,udp不用管。
在写网络编程,相信大部分人都了结七层网络协议,tcp三次握手四次挥手之类的,但是其中深层次的原理,却是晦涩难懂,但这并不影响我们写socket之类的代码,boost::asio则更加简化了网络编程的难度,例如写tcp时,你都不知道他是怎么监听端口的。
首先我们来看看常规的C++ tcp编程步骤:
tcp 服务端
1、加载套接字库,创建套接字(WSAStartup()/socket());
2、绑定套接字到一个IP地址和一个端口上(bind());
3、将套接字设置为监听模式等待连接请求(listen());
4、请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept());
5、用返回的套接字和客户端进行