離開山西麵館,曾凡到南麵幾百米外一家商店,花二十塊錢買了一箱方便麵,買了一個三塊錢的熱得快,插在暖壺裏直接就可以燒熱水,吃泡麵怎麼也能頂上十天八天了。
將方便麵放回宿舍,曾凡到機房繼續未完成的事情。
象棋對戰智能輔助部分代碼倒是很簡單,調用程序推演部分代碼就行,聊天室的功能就麻煩很多了。
他設計的點對點網絡沒有輔助的服務器程序,都是一個個獨立的功能相同的用戶程序,每一個人的發言要及時送到聊天大廳所有用戶的地址,在聊天大廳顯示出來,比對戰時候的一對一通訊就要複雜多了。
沒有獨立的服務器,每個程序都要擔負一部分服務器功能,點對點網絡就要組成一個特殊的臨時網絡,所有點之間都要能最快的速度通訊,任何一個點或者幾個點突然掉線也不能影響其他點的連接。
程序之間需要一種更高效快捷的通訊協議,確保臨時網絡的穩定性,要盡量少的占用網絡帶寬,要對網絡的延遲卡頓有很強的適應能力,短時間掉線也能迅速重新建立連接。
麵對各種複雜的網絡情況,程序本身要有一定的判斷能力,及時作出應對,保持通訊連接的持續穩定,相比象棋的各種步驟價值推演,網絡中斷和延遲的各種可能情況終究有限,這點倒是相對容易實現。
想象出各種狀況,列出設想的解決方案後,曾凡的腦海中又浮現出新的代碼,手指不由自主的動了起來。
設想的很複雜的網絡協議實現起來代碼卻隻有一百多行,曾凡不知道是該佩服自己太天才,還是該感謝那個可能從未來穿越回來的自己。
昨天為了實現對戰時候的通訊功能,曾凡給程序內加載了一個最精簡的字庫,現在為了實現聊天室那些花裏胡哨的效果,他還要擴展字庫容量,把那些使用頻率比較高的特殊符號加入進去。
程序完成後同樣的一次編譯成功,生成可執行程序,曾凡在幾台電腦間測試了一下,各項功能都符合預期。
這個增加了兩項重要功能的版本因為使用了他自己設計的通訊協議,反而比昨天那個版本還小了一些。
打開軟件下載網站,發現網絡版本下載數量已經超過了一百,曾凡將新版本傳上去寫了個更新說明。
老版本的更新不需要重新下載,隻要有人使用新版本程序發現老版本就會自動發送更新提醒,在線完成更新,確保原先的聯係人不會丟失。
上傳完成,曾凡也在電腦上打開了平凡象棋網絡版,搜索在線用戶。
隻要有人完成在線更新,聊天室功能就可以使用了,不然他就是唯一的用戶。
沒想到網絡版才幾個小時時間,就已經一百多下載,在線用戶刷出來二十多個。
第一個進入聊天室的就是昨天那個測試用戶令狐衝1517:“高手,你在嗎?這麼快就出新功能了?”
“代碼量不太大,沒想到你又是第一個用戶,嗬嗬,謝謝你捧場!”
“你昨天不是石破天1121嗎,怎麼換名字了?”曾凡這次隨機選了個西門吹雪,沒有加數字的名字。
“那個老版本沒有在線更新,以後用這個了!”
“還是這個名字更符合你的氣質!高手,能給我設置一個不帶數字的名字嗎?我想叫任我行!”
“名字都是隨機出來的,程序沒有服務器,我自己也沒法設置,更別說修改別人的名字了!”曾凡解釋道。
“那我要改名就得複製或者移動程序,重新隨機起名唄!”
“是的!那你之前的聯係人也都沒了!並且這種幾率很小,沒有數字的名字是萬分之一的機會,至於沒有數字的任我行,不到千萬分之一的機會!”