离开山西面馆,曾凡到南面几百米外一家商店,花二十块钱买了一箱方便面,买了一个三块钱的热得快,插在暖壶里直接就可以烧热水,吃泡面怎么也能顶上十天八天了。
将方便面放回宿舍,曾凡到机房继续未完成的事情。
象棋对战智能辅助部分代码倒是很简单,调用程序推演部分代码就行,聊天室的功能就麻烦很多了。
他设计的点对点网络没有辅助的服务器程序,都是一个个独立的功能相同的用户程序,每一个人的发言要及时送到聊天大厅所有用户的地址,在聊天大厅显示出来,比对战时候的一对一通讯就要复杂多了。
没有独立的服务器,每个程序都要担负一部分服务器功能,点对点网络就要组成一个特殊的临时网络,所有点之间都要能最快的速度通讯,任何一个点或者几个点突然掉线也不能影响其他点的连接。
程序之间需要一种更高效快捷的通讯协议,确保临时网络的稳定性,要尽量少的占用网络带宽,要对网络的延迟卡顿有很强的适应能力,短时间掉线也能迅速重新建立连接。
面对各种复杂的网络情况,程序本身要有一定的判断能力,及时作出应对,保持通讯连接的持续稳定,相比象棋的各种步骤价值推演,网络中断和延迟的各种可能情况终究有限,这点倒是相对容易实现。
想象出各种状况,列出设想的解决方案后,曾凡的脑海中又浮现出新的代码,手指不由自主的动了起来。
设想的很复杂的网络协议实现起来代码却只有一百多行,曾凡不知道是该佩服自己太天才,还是该感谢那个可能从未来穿越回来的自己。
昨天为了实现对战时候的通讯功能,曾凡给程序内加载了一个最精简的字库,现在为了实现聊天室那些花里胡哨的效果,他还要扩展字库容量,把那些使用频率比较高的特殊符号加入进去。
程序完成后同样的一次编译成功,生成可执行程序,曾凡在几台电脑间测试了一下,各项功能都符合预期。
这个增加了两项重要功能的版本因为使用了他自己设计的通讯协议,反而比昨天那个版本还小了一些。
打开软件下载网站,发现网络版本下载数量已经超过了一百,曾凡将新版本传上去写了个更新说明。
老版本的更新不需要重新下载,只要有人使用新版本程序发现老版本就会自动发送更新提醒,在线完成更新,确保原先的联系人不会丢失。
上传完成,曾凡也在电脑上打开了平凡象棋网络版,搜索在线用户。
只要有人完成在线更新,聊天室功能就可以使用了,不然他就是唯一的用户。
没想到网络版才几个小时时间,就已经一百多下载,在线用户刷出来二十多个。
第一个进入聊天室的就是昨天那个测试用户令狐冲1517:“高手,你在吗?这么快就出新功能了?”
“代码量不太大,没想到你又是第一个用户,呵呵,谢谢你捧场!”