計算機網絡:天氣預報

一、預期結果

? ? ? ? 程序運行輸入所要查詢的地點,然后出現三個選項實時天氣、未來天氣、生活指數。

二、實現思路

? ? ? ? (一)Ubuntu中利用NOWapi服務器獲取訪問數據api地址,然后創建客戶端利用TCP、IPV4協議分別訪問實時天氣,未來天氣,生活指數api地址。F12可以獲取到信息,然后將api數據中appkey改用自己賬號的即可。如果賬號到期可以用字符串數組搞一個欺騙行為,偽裝為瀏覽器網址訪問然后獲取信息。

? ? ? ? (二)利用wireshark抓包工具獲取數據

三、核心代碼

這里我沒有用cjson函數,自己寫的函數實現了功能。

四、成果展示

五、總結

? ? ? ? 還是那句話,我是一個學者,遇到困難很正常。因為遇到有困難,解決困難才是正真的成長,才是正真的學會,才能從中學到真正的知識。

? ? ? ? 注意:

????????假如你設置了一個字符串數組,設置一個指針指向這個字符串數組,然后用strtok函數分割指針指向的字符串,這樣實際上字符串數組還是會被破壞。因為,我們需要將字符串數組strcpy到另一個數組,然后每次分割后將原字符串再一次復制到使用的數組中,這樣字符串數組就不會被破壞了。

六、通信方式

(一)connection:keep -alive//長連接(短時間多次通信)

? ? ? ? 1.特點:tcp通信先建立連接

? ? ? ? //connect_server

連接一次通信多次

? ? ? ? //request_http_today

? ? ? ? //recv_http_response

? ? ? ? //request_http_future

? ? ? ? //recv_http_response

? ? ? ? //close

(二)connectiion:close//短連接(偶爾通信一次)

? ? ? ?連接一次通信一次

????????//connect_server

? ? ? ? //request_http_today

? ? ? ? //recv_http_response

? ? ? ? //request_http_future

? ? ? ? //recv_http_response

? ? ? ? //close

(三)可能出現的問題

? ? ? ? 1.返回數據很大,但是應用層最多接1500????????//半包

? ? ? ? 2.處理方式

(四)段錯誤(預防措施)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94793.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94793.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94793.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GD32VW553-IOT OLED移植

1.前言 本來想用他自身的硬件I2C實現的,但是不知道為啥跑demo一點波形都沒有,改成推挽也沒有波形,只有初始化的電平變化,而且I2C的驅動庫好像有點復雜,起始信號結束信號都得單獨發的,沒有一個全部封裝好的庫…

刀客doc:Instagram會成為Meta廣告業務的第二曲線嗎?

文/刀客doc(頭條深一度精選作者)一如果現在還用“Facebook的小弟”來定義Instagram,多少顯得有些過時了。在和一些出海品牌負責人聊天時,我有個很明顯的感受:他們已經不會再把Instagram當成“附屬資源”去看待。到2025年第二季度,…

Python日期計算完全指南:從上周五到任意日期的高效計算

引言:日期計算的核心價值在業務系統開發中,日期計算是高頻且關鍵的需求。根據2024年企業系統調查報告:85%的財務系統需要計算上周五(工資結算日)78%的報表系統依賴周數據統計92%的供應鏈系統使用工作日計算65%的BI工具…

達夢數據庫-重做日志文件(一)

達夢數據庫-重做日志文件(redo)(一) 1.查看redo文件 SQL> select * from v$rlogfile;行號 GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER ---------- ----------…

STM32CubeMX 6.15.0 + CLion

-DCMAKE_TOOLCHAIN_FILE./cmake/gcc-arm-none-eabi.cmake 參考 Clion進行嵌入式開發生成.hex文件教程_clion hex-CSDN博客

redis添加超時設置

redis添加參數的超時設置, 并且需要加鎖,一開始是用redisTemplate.opsForValue().setIfAbsent("key","value",1,TimeUnit.SECONDS);結果發現這種方式直接會返回空指針錯誤所以只能對方法加鎖來解決加鎖和超時的問題import lombok.extern.slf4j.Slf4j; impo…

七牛云實踐:我們如何用 AIGC 將產品開發從“人想圖”變為“圖選圖”

在火熱進行中的2025深圳國際文創展上,AI玩具、數字藝術等新興品類無疑成為了焦點。表面的喧囂之下,一個更深層次的變革正在悄然發生:驅動這些創新產品誕生的底層工作流,正在被AIGC技術深刻影響。 對于身處其中的產品經理、設計師和…

醫療器械企業如何做好多系統權限管理?解析PLM、ERP、MES權限角色

在醫療器械這個高度專業化、強監管的行業,數字化轉型不僅意味著效率提升,更關乎合規與安全。當企業將業務流程從研發、生產、銷售到售后,逐步遷移到ERP、PLM、MES、CRM等各類數字系統中時,一個關鍵而又常常被忽視的問題浮出水面&a…

藍凌研究院《2025上市公司AI數智化轉型白皮書》發布

上市公司是國民經濟基本盤。目前中國境內上市公司達5420家,加上海外上市公司總數會更多。上市公司群體是國民經濟的基本盤,其發展態勢深刻映照著經濟轉型的脈搏與韌性。目前,中國在境內上市的公司總數達5420家,加上海外上市的公司…

OpenFOAM并行區域分解生成的polymesh文件解釋

文章目錄OpenFOAM里區域分解后polymesh文件解釋🔹 1. What is polyMesh?🔹 2. Domain Decomposition Overview🔹 3. How decomposePar Works with polyMeshKey Output Files in processorX/polyMesh/:🔹 4. Types of Decompositi…

前端-npm和yarn的安裝以及區別

目錄 一.安裝npm或yarn 安裝Yarn 🖥? macOS / Linux 方式 1:通過 npm 安裝(最簡單) 方式 2:通過系統包管理器 🪟 Windows 方法 1:用 npm 安裝 方法 2:用 MSI 安裝包 方法 3&#x…

通信原理實驗之線性均衡器-迫零算法

通信原理實驗之線性均衡器-迫零算法一、實驗目的1、了解線性均衡器;2、了解迫零算法;3、熟悉眼圖的使用。二、實驗儀器1、序列碼產生2、信號中繼器3、加多徑干擾4、迫零均衡5、信號分布圖 6、眼圖三、實驗的理論基礎1.線性均衡器:信道均衡技術…

把 AI 塞進「智能手環」——基于心率變異的零樣本壓力監測手環

標簽:心率變異、壓力監測、零樣本、智能手環、TinyML、RISC-V、低功耗、邊緣 AI ---- 1. 背景:為什么手環要「測壓力」? 現代生活壓力大,全球 30% 的人有焦慮癥狀,但傳統手環: ? 只能測心率,無…

fastapi項目細節和啟動順序

要搞清楚 FastAPI 項目啟動的執行邏輯,需要先明確 “項目啟動流程”“main 函數角色”“lifespan 作用”“導入語句執行時機” 這幾個核心點的關系,下面逐一拆解:一、FastAPI 項目啟動:先執行 “導入語句”,再執行 “m…

Fluent Bit系列:字符集轉碼測試(上)

#作者:程宏斌 文章目錄gbk2utf8.lua 腳本說明在主配置中配置過濾器。如何在Linux系統中手動生成GBK日志?驗證日志轉碼的準確性測試測試方案fluent-bit 3.0.2 轉換測試這部分內容分為兩個任務: 是驗證 Lua 腳本是否能夠將 GBK 編碼的文本轉換為…

ApiFox高并發測試用例

介紹 在開發中我們經常會測試高并發場景下的業務,下面來看看如何使用ApiFox編寫一個高并發的測試用例 編寫接口 第一步我們要編寫測試的接口,并且建立一個用例 自動化測試 將上面的測試用例添加到自動化測試中,設置并發參數即可&#xff0c…

【MySQL數據庫入門課程】開課啦!

📣 【MySQL數據庫入門課程】開課啦! 課程名稱:MySQL數據庫實戰入門(零基礎友好版) 開課時間:2025年9月1日 授課方式:線上免費學習 實操練習 教師全程指導 適合人群:中職學校計算機…

面試中的并發編程題(下)

12、synchronized和Lock有什么區別語法層面synchronized是關鍵字,源碼在jvm中,用c實現Lock是接口,源碼又jdk提供,用Java實現使用synchronized時,退出同步代碼塊鎖會自動釋放,而使用Lock時,需要手…

Autosar之DCM模塊

一、DCM介紹 DCM(Diagnostic Communication Manager)是AUTOSAR(汽車開放系統架構)基礎軟件BSW中服務層(Service Layer)的核心模塊,其核心功能是為車輛電子控制單元(ECU)提供符合行業標準(如ISO 14229 UDS、ISO 15765 DoCAN、ISO 15031 OBD等)的診斷服務支持,為開發…

HFSS許可證與版本兼容性

在電磁仿真領域,HFSS(High Frequency Structure Simulator)軟件因其卓越的性能和廣泛的應用而備受贊譽。然而,為了確保用戶能夠充分利用HFSS的功能并獲得流暢的仿真體驗,許可證與版本兼容性成為了不可忽視的重要因素。…