book241.cpp和book242.cpp程序已经有点长了,有些啰嗦了,如果还想扩展功能,或用于多进程、多线程,程序结构将非常复杂。
不管是socket通信程序的客户端还是服务端,准备工作的代码又长又难看占地方,影响了主程序的结构,必须分离出来。
如何分离? 封装。
C的封装方法
C语言只能把程序代码封装成函数。
1、客户端的connecttoserver函数
2、服务端的initserver函数
3、客户端的主程序
4、服务端的主程序
把connecttoserver函数和initserver函数放入_public.h和_public.cpp中,可以作为通用的函数库。
C++的封装方法
C++语言可以封装数据和函数,采用的是类。
1、客户端的CTcpClient类
CTcpClient类的声明:
CTcpClient类的实现:
客户端主程序(book247.cpp)
2、服务端的CTcpServer类
CTcpServer类的声明:
CTcpServer类的实现:
服务端主程序(book248.cpp)
把CTcpClient类和CTcpServer类放入_public.h和_public.cpp中,可以作为通用的函数类。
应用经验
本章节演示了如何封装socket通信,这种封装是最简单的,socket通讯的知识点不算多,但是要做好应用开发却不容易,这么说吧,如果把这两个章节介绍的知识完全掌握,差不多就摸到门槛了,还算不上入门,千万别说自己已精通socket通信。以后的路还长。
版权声明
作者:码农有道
如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!
标签:主程序,封装,socket,成类,cpp,服务端,函数 From: https://blog.51cto.com/u_13748800/5878691