最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux系統(tǒng)下基于UDP+sqlite3實現(xiàn)的單詞查詢器(推薦)

 更新時間:2025年06月16日 10:14:01   作者:SELSL  
文章介紹基于UDP協(xié)議與SQLite3數(shù)據(jù)庫實現(xiàn)的Linux單詞查詢系統(tǒng),包含服務(wù)端與客戶端代碼設(shè)計,通過CSV轉(zhuǎn)DB構(gòu)建單詞表,實現(xiàn)數(shù)據(jù)查詢及日志記錄功能,采用Makefile管理源碼并展示運(yùn)行結(jié)果,感興趣的朋友一起看看吧

基于UDP+sqlite3實現(xiàn)的單詞查詢器(Linux系統(tǒng)下)

一、準(zhǔn)備工作

我們首先要準(zhǔn)備一個單詞表,注意必須要是.csv結(jié)束的表格

其實里面內(nèi)容和exsl表格一樣

因為我們要使用sqlite3數(shù)據(jù)庫來管理單詞表以實現(xiàn)單詞查詢的功能,所以要把.csv結(jié)束的單詞表轉(zhuǎn)化為.db結(jié)尾的數(shù)據(jù)庫

Linux終端輸入sqlite3 mydatabase.db進(jìn)入sqlite3數(shù)據(jù)庫,進(jìn)行下圖操作,把.csv格式的單詞表轉(zhuǎn)化為.db的數(shù)據(jù)庫

二、單詞代碼設(shè)計總框架

這個有點大,看下面這個分開代碼框架圖

根據(jù)這個我們來實現(xiàn)代碼。

三、服務(wù)端代碼

1、檢測main函數(shù)參數(shù)是否正確

檢查是否少輸入了ip、端口號等信息,如果少輸入產(chǎn)生錯誤,退出程序

2、socket創(chuàng)建套接字、使用UDP通信

使用UDP雖然沒有TCP的穩(wěn)定,但是對于小數(shù)據(jù)頻繁交互比較適合,對于單詞查詢這種數(shù)據(jù)量比較小的也很小概率回出現(xiàn)錯誤。

3、設(shè)置通信結(jié)構(gòu)體

這里主要是配置IP、端口號

4、bind綁定通信結(jié)構(gòu)體 5、打開sqlite3數(shù)據(jù)庫,準(zhǔn)備開始查詢數(shù)據(jù)庫.db中的單詞

sqlite3打開失敗回結(jié)束程序

6、進(jìn)入死循環(huán),一直使用recvfrom接收客戶端發(fā)來的數(shù)據(jù)

7、接收到了數(shù)據(jù)使用sqlite3中的API sqlite3_exec進(jìn)行查詢

8、不管成功失敗,我們都會使用sendto發(fā)送成功查到的單詞或失敗信息

9、ctrl+c會結(jié)束死循環(huán),關(guān)閉sqlite3、關(guān)閉服務(wù)端通信、結(jié)束服務(wù)端程序

四、客戶端代碼

1、使用getenv獲取環(huán)境變量中設(shè)置了的IP號與端口號

可以通過vim ~/.bachrc來查看、編寫里面的內(nèi)容

可以看到我這里的環(huán)境變量

2、檢測參數(shù)

如果沒有單詞參數(shù)則結(jié)束客戶端程序

3、socket創(chuàng)建套接字、使用UDP通信 4、設(shè)置通信結(jié)構(gòu)體

這里和服務(wù)端一樣,還是配置IP,和端口號

5、connect請求與服務(wù)端進(jìn)行確定

6、向服務(wù)端send發(fā)送查單詞請求

7、rcve接收服務(wù)端查到的數(shù)據(jù)

8、查詢時間輸出,把查詢時間+單詞保存到一個文檔日志里面

9、關(guān)閉查詢?nèi)罩尽㈥P(guān)閉網(wǎng)絡(luò)通信、結(jié)束查詢。

五、代碼展示、結(jié)果展示

在最后提供的資料中source文件夾有server服務(wù)端源碼

總體預(yù)覽:

在最后提供的資料中source文件夾有client客戶端源碼

整體預(yù)覽

兩個代碼都使用了Makefile進(jìn)行了管理

六、運(yùn)行結(jié)果展示

最后附帶源碼地址:https://download.csdn.net/download/2403_82436914/90564382

到此這篇關(guān)于Linux系統(tǒng)下基于UDP+sqlite3實現(xiàn)的單詞查詢器(推薦)的文章就介紹到這了,更多相關(guān)udp sqlite單詞查詢器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQLite教程(十二):鎖和并發(fā)控制詳解

    SQLite教程(十二):鎖和并發(fā)控制詳解

    這篇文章主要介紹了SQLite教程(十二):鎖和并發(fā)控制詳解,本文講解了鎖和并發(fā)控制機(jī)制概述、文件鎖、回滾日志、數(shù)據(jù)寫入、SQL級別的事務(wù)控制等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • SQLite 入門教程二 SQLite的創(chuàng)建、修改、刪除表

    SQLite 入門教程二 SQLite的創(chuàng)建、修改、刪除表

    今天這一篇只涉及到表的相關(guān)內(nèi)容,視圖、觸發(fā)器等到后面再講
    2013-12-12
  • python之sqlalchemy創(chuàng)建表的實例詳解

    python之sqlalchemy創(chuàng)建表的實例詳解

    這篇文章主要介紹了數(shù)據(jù)庫之sqlalchemy創(chuàng)建表的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • SQLite 入門教程四  增刪改查 有講究

    SQLite 入門教程四 增刪改查 有講究

    增刪改查操作,其中增刪改操作被稱為數(shù)據(jù)操作語言 DML,相對來說簡單一點。 查操作相對來說復(fù)雜一點,涉及到很多子句,所以這篇先講增刪改操作,以例子為主,后面再講查操作
    2013-12-12
  • SQLite教程(十):內(nèi)存數(shù)據(jù)庫和臨時數(shù)據(jù)庫

    SQLite教程(十):內(nèi)存數(shù)據(jù)庫和臨時數(shù)據(jù)庫

    這篇文章主要介紹了SQLite教程(十):內(nèi)存數(shù)據(jù)庫和臨時數(shù)據(jù)庫,本文講解了它們的創(chuàng)建方法和相關(guān)知識,需要的朋友可以參考下
    2015-05-05
  • 嵌入式數(shù)據(jù)庫SQLite?3配置使用講解

    嵌入式數(shù)據(jù)庫SQLite?3配置使用講解

    本文強(qiáng)調(diào)嵌入式項目中SQLite3數(shù)據(jù)庫的重要性,因其零配置、輕量級、跨平臺及事務(wù)處理特性,可保障數(shù)據(jù)溯源與責(zé)任明確,詳細(xì)講解安裝配置、基礎(chǔ)語法及SQLiteStudio工具使用,提升數(shù)據(jù)管理效率,感興趣的朋友跟隨小編一起看看吧
    2025-06-06
  • SQLite3的綁定函數(shù)族使用與其注意事項詳解

    SQLite3的綁定函數(shù)族使用與其注意事項詳解

    這篇文章主要介紹了SQLite3的綁定函數(shù)族使用與其注意事項的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • SQLite3基本介紹與常用語句匯總(最新整理)

    SQLite3基本介紹與常用語句匯總(最新整理)

    SQLite3是一款輕量級嵌入式數(shù)據(jù)庫,無需服務(wù)器,單文件存儲,支持標(biāo)準(zhǔn)SQL與ACID事務(wù),適用于移動應(yīng)用、嵌入式系統(tǒng)及快速開發(fā)場景,具備跨平臺、易部署、高效管理的特點,本文給大家介紹SQLite3介紹與常用語句匯總,感興趣的朋友一起看看吧
    2025-06-06
  • SQL中使用ESCAPE定義轉(zhuǎn)義符詳解

    SQL中使用ESCAPE定義轉(zhuǎn)義符詳解

    這篇文章主要介紹了SQL中使用ESCAPE定義轉(zhuǎn)義符的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • SQLite教程(二):C/C++接口簡介

    SQLite教程(二):C/C++接口簡介

    這篇文章主要介紹了SQLite教程(二):C/C++接口簡介,本文講解了C/C++接口概述、核心對象和接口、參數(shù)綁定等內(nèi)容,需要的朋友可以參考下
    2015-05-05

最新評論

青神县| 侯马市| 阿荣旗| 边坝县| 长寿区| 贺州市| 靖边县| 通山县| 西畴县| 高邑县| 张北县| 洛扎县| 黄平县| 观塘区| 深州市| 财经| 页游| 河南省| 淳安县| 温州市| 左云县| 潮州市| 清水河县| 陵川县| 措美县| 蒙阴县| 屯留县| 五指山市| 徐汇区| 温宿县| 正宁县| 澄城县| 潮安县| 开远市| 桓仁| 海伦市| 兴化市| 乳山市| 连州市| 彝良县| 汽车|