0207作業

思維導圖

?

?服務器

enum Type{TYPE_REGIST,TYPE_LOGIN
};typedef struct Pack{int size;enum Type type;char buf[2048];}pack_t;typedef struct list{union Data{struct List* tail;char str[64];}data;struct List* next;struct List* prev;
}List;List* create_node(){List* H=malloc(sizeof(List));H->next=NULL;H->prev=NULL;H->data.tail=H;return H;
}void insert(List* head,List* p){head->data.tail->next=p;p->next=head;p->prev=head->data.tail;p->data.tail=p;
}void read_pack(pack_t* pack){List* head=create_node();int readed_size = 0;while(1){short data_size = *(short*)(pack->buf+readed_size);if(data_size == 0){printf("數據解析完畢\n");break;}readed_size += 2;List* p=calloc(1,sizeof(List));memcpy(p->data.str,pack->buf+readed_size,data_size);readed_size +=data_size;insert(head,p);}	
}int main(int argc, const char *argv[])
{int server=socket(AF_INET,SOCK_STREAM,0);struct sockaddr_in addr ={0};addr.sin_family=AF_INET;addr.sin_port=htons(8888);addr.sin_addr.s_addr=inet_addr("0.0.0.0");if(bind(server,(addr_t*)&addr,sizeof(addr))==-1){perror("bind");return 1;}listen(server,10);addr_in_t client_addr={0};int client_addr_len=sizeof(client_addr);int client=accept(server,(struct sockaddr*)&client_addr,&client_addr_len);while(1){pack_t pack={0};int pack_size=0;read(client,&pack_size,4);read(client,(char*)&pack+4,pack_size-4);pack.size=pack_size;read_pack(&pack);}return 0;
}

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

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

相關文章

深入淺出 DeepSeek V2 高效的MoE語言模型

今天,我們來聊聊 DeepSeek V2 高效的 MoE 語言模型,帶大家一起深入理解這篇論文的精髓,同時,告訴大家如何將這些概念應用到實際中。 🌟 什么是 MoE?——Mixture of Experts(專家混合模型&#x…

RabbitMQ 從入門到精通:從工作模式到集群部署實戰(五)

#作者:閆乾苓 系列前幾篇: 《RabbitMQ 從入門到精通:從工作模式到集群部署實戰(一)》:link 《RabbitMQ 從入門到精通:從工作模式到集群部署實戰(二)》: lin…

nodejs:express + js-mdict 網頁查詢英漢詞典,能播放.spx 聲音

向 DeepSeek R1 提問: 我想寫一個Web 前端網頁,后臺用 nodejs js-mdict , 實現在線查詢英語單詞,并能播放.spx 聲音文件 1. 項目結構 首先,創建一個項目目錄,結構如下: mydict-app/ ├── public/ │ …

Linux ftrace 內核跟蹤入門

文章目錄 ftrace介紹開啟ftraceftrace使用ftrace跟蹤指定內核函數ftrace跟蹤指定pid ftrace原理ftrace與stracetrace-cmd 工具KernelShark參考 ftrace介紹 Ftrace is an internal tracer designed to help out developers and designers of systems to find what is going on i…

【抽象代數】1.1. 運算及關系

集合與映射 定義1. 設 為 的子集,定義 到 的映射 : 使得 ,稱 為 到 的嵌入映射。 定義2. 設 為 的子集, 為 到 的映射, 為 到 的映射,如果 ,稱為的開拓, 為 的限制&…

pytest+request+yaml+allure 接口自動化測試全解析[手動寫的跟AI的對比]

我手動寫的:Python3:pytest+request+yaml+allure接口自動化測試_request+pytest+yaml-CSDN博客 AI寫的:pytest+request+yaml+allure 接口自動化測試全解析 在當今的軟件開發流程中,接口自動化測試扮演著至關重要的角色。它不僅能夠提高測試效率,確保接口的穩定性和正確性…

數據庫高安全—審計追蹤:傳統審計統一審計

書接上文數據庫高安全—角色權限:權限管理&權限檢查,從權限管理和權限檢查方面解讀了高斯數據庫的角色權限,本篇將從傳統審計和統一審計兩方面對高斯數據庫的審計追蹤技術進行解讀。 4 審計追蹤 4.1 傳統審計 審計內容的記錄方式通…

第三個Qt開發實例:利用之前已經開發好的LED驅動在Qt生成的界面中控制LED2的亮和滅

前言 上一篇博文 https://blog.csdn.net/wenhao_ir/article/details/145459006 中,我們是直接利用GPIO子系統控制了LED2的亮和滅,這篇博文中我們利用之前寫好的LED驅動程序在Qt的生成的界面中控制LED2的亮和滅。 之前已經在下面兩篇博文中實現了LED驅動…

deepseek來講lua

Lua 是一種輕量級、高效、可嵌入的腳本語言,廣泛應用于游戲開發、嵌入式系統、Web 服務器等領域。以下是 Lua 的主要特點和一些基本概念: 1. 特點 輕量級:Lua 的核心非常小,適合嵌入到其他應用程序中。高效:Lua 的執…

(動態規劃 leetcode377)組合求和IV

確立狀態轉移方程需要深入理解問題,合理定義子問題,找到邊界條件(比如dp[0]),分析狀態之間的轉移關系(dp和dp之間的關系),并進行驗證。 遞歸是自頂向下,而dp是自下而上 這里是i作為目標值&…

解決aspose將Excel轉成PDF中文變成方框的亂碼問題

原文網址:解決aspose將Excel轉成PDF中文變成方框的亂碼問題_IT利刃出鞘的博客-CSDN博客 簡介 本文介紹如何解決aspose將Excel轉成PDF中文變成方框的亂碼問題。 問題描述 用aspose將word、excel等轉成PDF后,英文展示正常,但中文全部變成了…

Netty 核心原理與高并發場景實踐

在當今的網絡編程領域,隨著互聯網應用的不斷發展,對高并發、高性能網絡通信的需求日益增長。Netty 作為一款基于 Java 的異步事件驅動的網絡應用框架,憑借其卓越的性能和豐富的功能,成為了實現高并發網絡應用的首選工具。無論是在…

問題大集04-瀏覽器阻止從 本地 發起的跨域請求,因為服務器的響應頭 Access-Control-Allow-Origin 設置為通配符 *

1、問題 localhost/:1 Access to XMLHttpRequest at xxx(請求) from origin http://localhost:xxx(本地) has been blocked by CORS policy: The value of the Access-Control-Allow-Origin header in the response must not be t…

判斷192.168.1.0/24網絡中,當前在線的ip有哪些

需求:判斷192.168.1.0/24網絡中,當前在線的ip有哪些,并編寫腳本打印出來。 [rootopenEuler ~]# cat 1.sh #!/bin/bash for ip in $(seq 1 254); do ping -c 1 -W 1 "192.168.1.$ip" > /dev/null 2>&1 if [ $? …

vue-vite axios bug

axios-bug http proxy error Error: write ECONNABORTED 代碼寫法 一般baseURL不是單寫前綴就可以了嗎,為何要寫死就不會出現以上錯誤,求解。

【Spring】_SpringBoot配置文件

目錄 1.Spring Boot配置文件 1.1 Spring Boot 的配置文件類型及命名 1.2 properties和yml的優先級 2. properties配置文件 1.1 properties語法格式 1.2 自定義配置及配置文件的讀取 1.3 properties的缺點 3. yml配置文件 3.1 yml語法格式 3.2 自定義配置及配置文件的…

實操給觸摸一體機接入大模型語音交互

本文以CSK6 大模型開發板串口觸摸屏為例,實操講解觸摸一體機怎樣快速增加大模型語音交互功能,使用戶能夠通過語音在一體機上查詢信息、獲取智能回答及實現更多互動功能等。 在本文方案中通過CSK6大模型語音開發板采集用戶語音,將語音數據傳輸…

深入解析 FFmpeg 的 AAC 編解碼過程

深入解析 FFmpeg 的 AAC 編解碼過程 —— 技術詳解與代碼實現 AAC(Advanced Audio Coding) 是一種高效的有損音頻壓縮格式,因其高壓縮效率和良好的音質而被廣泛應用于流媒體、廣播和音頻存儲等領域。FFmpeg 是一個強大的多媒體處理工具,支持 AAC 的編碼和解碼。本文將詳細…

RabbitMQ 從入門到精通:從工作模式到集群部署實戰(一)

#作者:閆乾苓 文章目錄 RabbitMQ簡介RabbitMQ與VMware的關系架構工作流程RabbitMQ 隊列工作模式及適用場景簡單隊列模式(Simple Queue)工作隊列模式(Work Queue)發布/訂閱模式(Publish/Subscribe&#xff…

探索 Spring Cloud Alibaba:開啟微服務架構新時代

一、引言 在當今數字化浪潮中,軟件系統的規模和復雜度不斷攀升,傳統的單體架構逐漸難以滿足快速迭代、高并發處理以及靈活擴展的需求。微服務架構應運而生,它將一個大型的應用拆分成多個小型、自治的服務,每個服務專注于特定的業務…