对于程序来说,想要独一无二不能伪造,又涉及到了随机数生成和加密,必须能生成不可破解不会重复的随机数。
前面几个版本的象棋程序都是不需要安装的绿色程序,只需要复制到windows系统下就能运行,不需要修改注册表调用系统库文件。
联网版本如果仍然这样,那就必须保证每一个复制出的程序都能自动产生随机数作为唯一识别码。
光是复制还不行,应该是每一次程序存储位置变化,都要产生唯一识别码。
如果有一个固定服务器,只需要用户注册一个账号就能解决的识别问题,因为点对点网络的不确定性,被曾凡设计的越来越复杂。
网络中任何一个节点都可能随时掉线,存储的数据都不可靠,因此这个网络必须能抵抗这种风险,哪怕所有节点全灭,只要再有两个节点上线,仍然能快速建立起互相信任的连接,这才是他想要的网络。
曾凡现在没能力租服务器,也不可能让学校的机房电脑二十四小时开机,那也太费电了,他只能通过编程算法来解决网络的存续问题。
点对点网络正好符合他的要求,只是这个实现的过程没有任何参照,完全靠他自己想办法解决一个个难题。
实现这部分功能的程序源代码还没有用户界面的源代码多,设计算法却让曾凡绞尽了脑汁,在机房里待了两天一夜,直到周日下午才算完成。
肚子饿的实在难受,曾凡才跑到校门口对面吃了一碗削面,然后回学校继续。
天色将黑,判卷的老师们大多数都已经下班回家了,学校里除了门房老魏就只有几个住校的老师。
教学楼南面除了自行车棚,还有两组单杠,两组水泥面乒乓球台,曾凡想起中考还有引体向上,就跳上单杠测试了一下。
他体重刚过一百斤,胳膊比同学力气都大,以往轻松做二十个,好久没有做了,没想到还有所进步,一气做到了二十五个才感觉到吃力。
回到机房,曾凡打开了几台电脑,将网络版象棋程序在不同电脑间测试了一下,同一个局域网当然很快就能互相连接,还要测试在互联网的效果才行。
想到测试对象,曾凡给刘建国和吴世伟两位教授,还有那个提建议的用户发去邮件,附上了测试程序,请他们可以的话,帮忙一起测试一下联网对战效果。
没想到那个用户很快就发来了回复邮件,表示可以测试,已经上线了。
曾凡切换到象棋程序,打开联网对战,搜索联网用户,不到一分钟时间就显示出一个令狐冲1527的用户。
鼠标左键点击用户名选择发送对战邀请,对方迅速回应,进入对战界面,同样的棋盘,只是棋盘右侧多了一个信息输入显示的界面,双方可以进行文字交流。