内容
编写
数据包模块
登陆为例,类的继承关系如下
Packetbase -> packet -> packetLogin
父子类之间的关系,包括属性的定义 方法的定义,在写的过程中逐渐明确,尤其是对于不定长包的处理。
我将数据部份的变量类型全部定义为了void *,我觉得这样才更显出数据类型的不确定性、兼容性
Tcp连接模块
SocketBase -> TcpSocket
测试
可以正常连接,数据包可以发送,但是服务端输出显示包错误,不太明白原因,需要和服务端再交流一下
问题
1 父子类构造方法的调用问题:类是有自己的默认构造方法的,即为无参方法,子类的构造方法在不指定父类构造方法时会调用默认父类构造方法,这本是继承的简单语法,但是长时间没有动手写继承,淡忘了
2 平台问题:开始在win上写的,后面遇到socket的头文件实在linux下用的,不熟悉win的,所以暂时转到linux上了
附上部分类头文件