TCP的客户端和服务器端
简要概括:
关于Accept( )
服务器中的连接:
结果显示:
此时引入第一个bug的来源:
Bug 1:
进一步理解缓冲区
Bug 2:
产生的原因:原因在于accept( )方法:
accept的工作原理:
解决方案: accept方法和connection同时进行
其他代码不变
主线程专门负责accept方法 其他线程负责和客户端之间的沟通
结果显示:
错误示例:
此时上面代码还存在一个问题:
每次来一个客户端创建一个线程
断开一次连接销毁一次线程
当大量的客户端被建立和大量的客户端被销毁就会导致服务器频繁的创建和销毁线程 因此使用线程池来处理这个问题.
最终版本:
此代码节省了频繁创建和销毁线程的开销
TCP特点: 有连接 可靠 面向字节流 全双工