(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,效率更高。所以注释掉代码不要放在原函数里,及时清理是很重要的。





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,494评论 11 349
  • 鞋子合不合适只有脚知道,爱情合不合适,自己知道。 -----题...
    墨菲show阅读 4,845评论 0 3
  • 引言 榴莲是一种古老的野兽。 在巨型的热带常绿乔木上,这种野兽直接长在粗的树干分支上,连接果实的柄也是同样粗野,活...
    21cake阅读 4,873评论 7 2
  • 你从清晨走来, 把黑暗的光线留在黑夜, 在阳光普照的一天, 搭乘人生下一站的航班…… 那一刻, 你蓄势待发, 把内...
    小剧在成长阅读 1,459评论 0 2

友情链接更多精彩内容