离开山西面馆,曾凡到南面几百米外一家商店,花二十块钱买了一箱方便面,买了一个三块钱的热得快,插在暖壶里直接就可以烧热水,吃泡面怎么也能顶上十天八天了。 将方便面放回宿舍,曾凡到机房继续未完成的事情。 象棋对战智能辅助部分代码倒是很简单,调用程序推演部分代码就行,聊天室的功能就麻烦很多了。 他设计的点对点网络没有辅助的服务器程序,都是一个个独立的功能相同的用户程序,每一个人的发言要及时送到聊天大厅所有用户的地址,在聊天大厅显示出来,比对战时候的一对一通讯就要复杂多了。 没有独立的服务器,每个程序都要担负一部分服务器功能,点对点网络就要组成一个特殊的临时网络,所有点之间都要能最快的速度通讯,任何一个点或者几个点突然掉线也不能影响其他点的连接。 程序之间需要一种更高效快捷的通讯协议,确保临时网络的稳定性,要尽量少的占用网络带宽,要对网络的延迟卡顿有很强的适应能力,短时间掉线也能迅速重新建立连接。 面对各种复杂的网络情况,程序本身要有一定的判断能力,及时作出应对,保持通讯连接的持续稳定,相比象棋的各种步骤价值推演,网络中断和延迟的各种可能情况终究有限,这点倒是相对容易实现。 想象出各种状况,列出设想的解决方案后,曾凡的脑海中又浮现出新的代码,手指不由自主的动了起来。 设想的很复杂的网络协议实现起来代码却只有一百多行,曾凡不知道是该佩服自己太天才,还是该感谢那个可能从未来穿越回来的自己。 昨天为了实现对战时候的通讯功能,曾凡给程序内加载了一个最精简的字库,现在为了实现聊天室那些花里胡哨的效果,他还要扩展字库容量,把那些使用频率比较高的特殊符号加入进去。 程序完成后同样的一次编译成功,生成可执行程序,曾凡在几台电脑间测试了一下,各项功能都符合预期。 这个增加了两项重要功能的版本因为使用了他自己设计的通讯协议,反而比昨天那个版本还小了一些。 打开软件下载网站,发现网络版本下载数量已经超过了一百,曾凡将新版本传上去写了个更新说明。 老版本的更新不需要重新下载,只要有人使用新版本程序发现老版本就会自动发送更新提醒,在线完成更新,确保原先的联系人不会丢失。 上传完成,曾凡也在电脑上打开了平凡象棋网络版,搜索在线用户。 只要有人完成在线更新,聊天室功能就可以使用了,不然他就是唯一的用户。 没想到网络版才几个小时时间,就已经一百多下载,在线用户刷出来二十多个。 第一个进入聊天室的就是昨天那个测试用户令狐冲1517:“高手,你在吗?这么快就出新功能了?” “代码量不太大,没想到你又是第一个用户,呵呵,谢谢你捧场!” “你昨天不是石破天1121吗,怎么换名字了?”曾凡这次随机选了个西门吹雪,没有加数字的名字。 “那个老版本没有在线更新,以后用这个了!” “还是这个名字更符合你的气质!高手,能给我设置一个不带数字的名字吗?我想叫任我行!” “名字都是随机出来的,程序没有服务器,我自己也没法设置,更别说修改别人的名字了!”曾凡解释道。 “那我要改名就得复制或者移动程序,重新随机起名呗!” “是的!那你之前的联系人也都没了!并且这种几率很小,没有数字的名字是万分之一的机会,至于没有数字的任我行,不到千万分之一的机会!” “啊,这么小的机会,比中彩票还难啊!” 他们正在聊着,聊天室提示消息:郭襄进入聊天室。 “高手,这不公平啊,你不是说万分之一的机会吗?又来一个不带数字的,不行!我得去试试手气!” 用户列表中令狐冲1517迅速消失了。 郭襄:“西门吹雪,你这名字好自恋!没想到你是这样的人!” “都是武侠小说中的名字,又不是我自己取的,怎么能说我自恋呢?”曾凡感觉很莫名其妙,这谁呀,好像认识我。 郭襄:“你写的程序,名字还不是想叫什么叫什么!” “我就是怕出现那些奇葩网名,所以才设定所有人名字只能随机选取,我自己当然不能例外!你是我新同桌吗?”曾凡想起只有薛燕和王伟知道他程序上传网站,王伟的电脑估计还没买呢,也不可能给自己起个女名。 郭襄:“看来你还不算太笨!” 曾凡找到用户列表里郭襄的名字发起对战邀请,对方同意邀请,对战界面打开,在这里聊天信息不用担心被其他人看到了。 “你想下快棋,还是慢棋?”曾凡问道。 郭襄:“随你,都可以!” 曾凡选择了三十秒钟走一步的快棋,他发出邀请,默认对方先行。 郭襄:“智能辅助,智能替代都是什么意思?” “智能辅助就是程序帮你进行推演,给你提意见,怎么行棋你自己动手,智能替代就是程序替你下棋,你只需要看着就行了!”曾凡解释道。 郭襄没有开启那些功能,三十秒时间耗尽前,自己走了一步当头炮:“那不就是作弊嘛!” 曾凡跳马应对:“网络上这种事情没法避免,索性我就直接加上,省的双方差距太大!遇到真正的高手,智能辅助也一样会输!” 两人一边下棋,一边文字聊天,两不耽误,曾凡少有的遇见一个水平相近的对手,一个女生下棋也能这么厉害,真是意想不到。 他们的思考都很快,经常一步棋几秒钟就走了,不到十分钟就下完一盘,曾凡棋高一着,对面当然不服气,接着又下了两盘,同样的输了。 后面的时间专心下棋,没心思打字聊天了,对面连败三盘,难免气闷。 郭襄:“睡觉了!bye!” 对方下线,曾凡又回到了刚才的聊天室。 聊天室已经有了十几个人,都是挂着数字的武侠小说人名,比刚才热闹多了,那个令狐冲1517不知道什么时候又回来了。 “各位,刚进来的西门吹雪就是这个程序的作者,你们有问题直接问他好了!”令狐冲1517赶忙发言道,显然刚才被问了不少问题。 段誉2113:“大侠!为什么不能改名字,不能创建新聊天室呀,这些功能应该很容易实现吧?” 杨过1107:“就是啊!名字后面还加数字,感觉好土!一点没有个性!” “做这个软件的初衷是方便大家网上切磋象棋,我没有能力租用服务器,只能在用户端之间组建临时网络,聊天室只是找对手之前互相了解一下情况,为了确保效率和安全性,一切从简,聊天室最多五十人,游戏同时在线超过五十人会自动组建新的聊天室!”曾凡耐心的解释道。 段誉2113:“没有管理员吗,有人捣乱怎么办?” “用户列表有屏蔽选项,你可以选择屏蔽某人发言,也可以退出聊天室,屏蔽后看不到被屏蔽者发言,双方也无法对战!这些在软件帮助信息里面都有说明!”曾凡解释道。 张丹枫3121向你发起对战邀请,是否接受?