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

第三天:

项目进度要求:

1.做登录功能。a.要求同一个用户名不能在两个终端同时登录,b.服务器再建一个在线链表或者标识符标志在线状态,c登录时,密码三次错误登出d.退出包的设立。

今天工作内容:

1.调试昨天写的注册代码。

2.写登录程序代码并做调试、

小bug

1,问题:全局变量head只在main.c里面有值,其他的里面没有值,原因:在main.c里面又重新定义的head(局部变量);而head的值会就近赋值原则。解决方法:去掉main.c里面的新定义的head;

总结:

1. 服务器与客户端通信最好都是用数据包结构体,客户端根据数据包中不同的标识符flag来提示不同的信息。善用标识符,对代码起到很好的作用

2,.码代码快速有效的方法是先一个函数,就运行一次,然后在调试下,在完成一个整个功能再做大的调试,反复验证不同的情况。已达到代码能够面对不同的情况。

3,,宏定义常量很重要,既能够快速知道不同的情况是什么含义,又面对能面对不同情况不至于弄混数字。注意修改标识符 常量时,要联合显示输出端一起改变。

4,/在写代码的时候,会有很多想法冒出来,很容易分散注意力,不放把这些写下来,有时候会有不错的点子。例如下面就是我写代码冒出的杂念

先把客户端的main.c 和 其他文件定义完整

把客户端的功能选择端和登录端写出来;写出退出功能,定义一个宏EXIT赋值给数据包的标识符flag、当标识符 == EXIT时,客户端正常退出,服务器端正常退出

在服务器端写出数据包类型 选择功能函数

再用宏#define重定义两边的常量保持一致;要区分type的宏和flag宏。
再在服务器里写出登录程序,遍历列表先找到用户,在比对其密码、遗留问题,未反馈给客户端已登录消息
写一个switch flag 标识符输出反馈到客户端的函数;
客户端发送数据包过来,服务器也可以发送数据包过去,客户端根据数据包里flag值输出相应的提示、只要两边的数据协议是一样的,没什么大问题。服务器端是否要记录出错情况呢?






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