最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

使用Python開發(fā)Malody V商店服務器日志(一)

2022-12-12 19:17 作者:nick235711  | 我要投稿

一、前言

????????第一次搞這么大的項目,屬實是有點迷茫。

????????突然想到整一個粉絲范圍內的小Malody V服,于是我就開始干了。

????????剛開始,我到bing上搜了一些別人做的開源項目,看著要整一堆東西,我也就跟著整了。結果,不想來什么就來什么。每個項目都靠著MySQL這個破數據庫,數據庫setup完了之后還不給我連接成功,我就果斷放棄了。

????????后來想,既然我會寫點Python代碼,為啥不自己寫個服務器呢?

????????于是我就在沒有任何寫服務器的基礎上開始了。。。

二、服務器的基礎——接收和發(fā)送

????????我花了大概半個多小時的時間快速學習了一下如何用socket建立服務器(與其說是借鑒,不如說是ctrl+c/v)。試著用Malody V連了一下,算是接收到了請求。于是我用api迅速寫了個回復發(fā)送。

????????對,“回復發(fā)送”,“只有一個接收格式的回復”。

????????我一試,誒,接收到了,也發(fā)送了,怎么就不行了?

????????經過一個多小時的研究,“原來是要用html信息格式發(fā)送”。

????????最終,登錄服務器模塊作為整個服務器的基礎,做好了。

三、更多請求

????????是時候將這種組合用在一些重要的模塊上了,首先我想到的就是商店瀏覽譜包。

????????這是譜包的接收格式,乍一看人直接傻眼。

????????這next是啥?這data又咋輸出?

????????先從data的問題開始。

????????既然data要從譜面文件中讀,我何不整個txt文件,上傳譜面時往里面輸入譜包信息,然后找譜面的時候再讀取呢,于是我就這樣干了。

????????以譜包信息所在txt的行號作為sid,譜面存儲處再用sid作為名字,很快就設計了一個每行只有6個元素并且用空格隔開的信息列表:時長、bpm、歌名、作曲、模式、時間。以如下兩個作為范例:

79 130.00 DREAM iowo 217 1454342618

146 202.00 Sterelogue VeetaCrush 217 1561899016

????????這樣,當請求顯示指定id的譜包的時候,就好辦了,直接讀取導入,寫入發(fā)送就完了。

????????于是一個簡單的請求模塊就寫好了。

????????但這還不止:1. 沒有譜面的時候無法發(fā)送會出現(xiàn)故障 2. 根據已給信息,只能發(fā)送第一個,未利用next

????????第一個很簡單:在行數為0的時候返回一個204

????????至于第二個,得仔細研究一下next了。

????????我比對了一下兩次發(fā)出的請求,發(fā)現(xiàn)只差在一個地方,第二次多了個&from:

????????也就是說,這個&from是解題的關鍵。

????????正巧第一次請求,我回復的是“next”:1,那么,這個next應該就是下一次請求過來的from值。

????????于是我將from值截取過來,作為下一個譜面的sid,然后再往后擴展一個next值,這樣就可以連續(xù)發(fā)送了。

????????但問題又來了,發(fā)完了該發(fā)什么?

????????為了解決這個問題,我又加了個識別是不是最后一個sid,更改是否還有后續(xù)信息,這樣就可以了。

????????但是,當我真正運行的時候,發(fā)現(xiàn)請求的速度賊慢,大概5秒鐘一次,這速度誰還逛譜面商店?

????????于是,我加了個十重發(fā)送,在data這個列表里疊十個譜包信息,這樣就能一次發(fā)送10個譜包信息了。

????????最終,這個模塊也算完成了。

四、代碼展示(我直接copy了啊,想用的隨時用,不過連下載功能都沒有,根本用不了)

五、待發(fā)展內容

  • 其他類型的請求模塊

  • 請求模塊對應的其他數據文件

  • 支持帶空格的曲名、作曲

  • 支持搜索、過濾等高級功能

  • 解決譜面商店無法顯示圖片問題

*使用Python 3.8.9


使用Python開發(fā)Malody V商店服務器日志(一)的評論 (共 條)

分享到微博請遵守國家法律
盐津县| 咸丰县| 吉安县| 阜新| 福州市| 灯塔市| 河源市| 哈尔滨市| 原平市| 溧水县| 乐东| 三台县| 周至县| 乳山市| 视频| 奈曼旗| 同德县| 大港区| 香格里拉县| 娄底市| 和政县| 姜堰市| 山西省| 临西县| 阳东县| 平安县| 涞源县| 海林市| 楚雄市| 两当县| 闽侯县| 小金县| 遂昌县| 天全县| 嘉黎县| 建宁县| 塔城市| 沅江市| 南华县| 麦盖提县| 东乌珠穆沁旗|