(2/7)LSD项目----远程终端管理系统

第二天:

项目阶段进度要求:

1.定义好数据包结构(可只定义现在能用到的,后面需要了在增加)

2.对于服务器子线程的创建设定好它的线程属性,考虑好为什么这么设定,客户端的架构也要想想

3.搭建一个服务器的用户信息链表

4.在客户端建立注册功能并建立链接通信。

今天完成工作内容:

1.完成客户端和服务器协议搭建

2.完善多客户端与服务器的多线程问题

3.完成在服务器搭建一个账户信息链表

4.完成在客户端的注册功能搭建,并能连上通信。

小bug

1.bug:创建多个客户端时,最新的客户端会取代旧客户端,旧客户端与服务器无法通信。原因:【传参的作用域】,在线程函数中,传入的是指针也就是指向客户端sock的值,创建新的客户端会刷新,把原来该位置的值覆盖,所有造成原有客户端无法与服务器通信。


今天的总结:

1.LSD的特点是客户端与服务器间的通信,所以开始时候想清楚,如何搭建数据包并链接通信,而不是以前只是一个进程,要清楚重点在服务器,写入读取都在服务器。

2.把所想的具体步骤写下来,一步步的实现,例如我今天的构思是

1.客户端的数据包结构体的搭建

2.再把数据包通道打通,服务器端read,or 客户端write

3.服务器的注册情况

4.在服务器端链表的搭建

5.客户端注册状况搭建

写完一个就在后面勾选上。

3.要区分服务器和客户端是两个进程,两个文件,意味着这两个都有相似的文件函数,如结构体,数据包(服务器与客户端的通信协议);并在建立相应的函数。

4.对于不用的函数或语句块要及时删去,注释掉的语句块放在函数里很容易分散注意力,若说考虑敲打代码辛苦,再次输入可以让自己对该知识点掌握牢固。还可以放在一个专门的注释文件里,若用到的时候,前去copy,效率更高。所以注释掉代码不要放在原函数里,及时清理是很重要的。





你可能感兴趣的:((2/7)LSD项目----远程终端管理系统)