最主要的三个例子-TCP网络编程中的Echo、Chat与Proxy
A.1.11 最主要的三个例子我认为TCP网络编程有三个例子最值得学习研究,分别是echo、chat、proxy,都是长连接协议。
echo的作用:熟悉服务端被动接受新连接、收发数据、被动处理连接断开。每个连接是独立服务的,连接之间没有关联。在消息内容方面echo有一些变种:比如做成一问一答的方式,收到的请求和发送响应的内容不一样,这时候要考虑打包与拆包格式的设计,进一步还可以写简单的HTTP服务。
chat的作用:连接之间的数据有交流,从a收到的数据要发给b。这样对连接管理提出了更高的要求:如何用一个程序同时处理多个连接?fork()-per-connection似乎是不行的。如何防止串话?b有可能随时断开连接,而新建立的连接c可能恰好复用了b的文件描述符,那么a会不会错误地把消息发给c?
Linux多线程服务端编程:使用muduo C++网络库(excerpt) [http://www.chenshuo.com/book/]
3.26MB
文件大小:
评论区