第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

作業(yè)社區(qū)

探索學習新天地,共享知識資源!

0 提交作業(yè)
0 布置作業(yè)
0 滿分作業(yè)
得分 100
學習任務

阿大月 的學生作業(yè):

seq(Sequence Number) 序列號 作用:標識當前報文段中第一個數(shù)據(jù)字節(jié)的編號,跟蹤數(shù)據(jù)字節(jié)的順序,確保接收方能正確重組數(shù)據(jù)流 規(guī)則: 每個字節(jié)的數(shù)據(jù)都會被粉噴唯一的序列號 初始序列號(ISN)在建立連接時隨機生成(防止歷史報文干擾) 序列號是循環(huán)遞增的(達到最大值后歸零) ack(Acknowledgement Number)確認號 作用:表示期望接收的下一個字節(jié)的序列號。隱含意義:確認此前的所有數(shù)據(jù)(直到ack-1)以正確接收 規(guī)則: 僅當ACK標志位為1時,確認號字段才有效。 接受方通過ack告知對方:“我已經(jīng)接收到ack-1之前的所有數(shù)據(jù),請發(fā)送從ack開始的數(shù)據(jù)” 控制位 SYN(synchronize) 所用:用于建立連接(三次握手階段) 規(guī)則:SYN=1表示該報文段是連接請求(第一次握手)或連接響應(第二次握手) 攜帶SYN的報文會消耗一個序列號(即下一個報文的seq需+1) ACK(Acknowledgement) 作用:表示確認號字段有效(用于確認數(shù)據(jù)接收) 規(guī)則: 除了初始的SYN報文外,其他所有報文必須設置ACK=1 接收方通過ACK告知發(fā)送方數(shù)據(jù)已成功接收 FIN(Finish) 作用:用于關閉連接(四次揮手階段) 規(guī)則: FIN=1表示發(fā)送方已經(jīng)完成數(shù)據(jù)發(fā)送,請求終止連接 攜帶FIN的報文會消耗掉一個序列號

得分 100
學習任務

Linkus 的學生作業(yè):

作業(yè)與內(nèi)容不對,交練習:【圖片】 /* 創(chuàng)建兩個子進程 A B,父進程分別給兩個子進程發(fā)消息,消息類型為100 200 */ /* 父進程從鍵盤讀入數(shù)據(jù),發(fā)送給子進程,輸入quit則退出 */ #include #include #include #include #include #include #include #include #define PATH "." #define PROJ_ID 3 #define MSG_TYPE_A 100 #define MSG_TYPE_B 200 #define MSG_SIZE 64 struct msgbuf{ long type; char text[MSG_SIZE]; }; int main(void) { key_t key; int msgid,ret; pid_t apid,bpid; struct msgbuf msg; ssize_t bytes; key = ftok(PATH,PROJ_ID); if(key == -1) { perror("ftok(): "); exit(EXIT_FAILURE); } msgid = msgget(key,IPC_CREAT | 0644); if(msgid == -1) { perror("msgget(): "); exit(EXIT_FAILURE); } printf("msgid \n",msgid); apid = fork(); if(apid == -1) { perror("fork(): "); exit(EXIT_FAILURE); } else if (apid == 0) { do { bytes = msgrcv(msgid,(void *)&msg,MSG_SIZE,MSG_TYPE_A,0); printf("process A rev msg \n",msg.text); } while(strcmp(msg.text,"quit") != 0); printf("process A exit.\n"); exit(EXIT_SUCCESS); } bpid = fork(); if(bpid == -1) { perror("fork(): "); exit(EXIT_FAILURE); } else if (bpid == 0) { do { bytes = msgrcv(msgid,(void *)&msg,MSG_SIZE,MSG_TYPE_B,0); printf("process B rev msg \n",msg.text); } while(strcmp(msg.text,"quit") != 0); printf("process B exit.\n"); exit(EXIT_SUCCESS); } do { printf("Enter > "); fgets(msg.text,sizeof(msg.text),stdin); msg.text[strlen(msg.text)-1] = '\0'; printf("(Input )\n",msg.text); msg.type = MSG_TYPE_A; if(msgsnd(msgid,(const void *)&msg,strlen(msg.text)+1,0) == -1) { perror("msgsnd(): "); exit(EXIT_FAILURE); } msg.type = MSG_TYPE_B; if(msgsnd(msgid,(const void *)&msg,strlen(msg.text)+1,0) == -1) { perror("msgsnd(): "); exit(EXIT_FAILURE); } sleep(1); } while(strcmp(msg.text,"quit") != 0); wait(NULL); wait(NULL); ret = msgctl(msgid,IPC_RMID,NULL); if(ret == -1){ perror("msgctl(): "); exit(EXIT_FAILURE); } printf("Main Exit.\n"); return 0; }

得分 100
學習任務

慕先生4541263 的學生作業(yè):

(1) 構(gòu)造函數(shù) static:不能修飾構(gòu)造函數(shù)。 原因:構(gòu)造函數(shù)用于創(chuàng)建對象,而 static 成員屬于類本身,不屬于任何對象。構(gòu)造函數(shù)的作用是初始化對象,因此它必須與對象實例相關聯(lián),不能是靜態(tài)的。 const:不能修飾構(gòu)造函數(shù)。 原因:構(gòu)造函數(shù)的作用是初始化對象,而 const 表示對象在初始化后不可修改。構(gòu)造函數(shù)在初始化過程中需要修改對象的狀態(tài),因此不能是 const。 (2) 析構(gòu)函數(shù) static:不能修飾析構(gòu)函數(shù)。 原因:析構(gòu)函數(shù)用于銷毀對象,而 static 成員屬于類本身,不屬于任何對象。析構(gòu)函數(shù)的作用是清理對象資源,因此它必須與對象實例相關聯(lián),不能是靜態(tài)的。 const:不能修飾析構(gòu)函數(shù)。 原因:析構(gòu)函數(shù)的作用是銷毀對象,而 const 表示對象在初始化后不可修改。析構(gòu)函數(shù)在銷毀過程中需要修改對象的狀態(tài),因此不能是 const。 (3) 成員變量 static 和 const 可以同時修飾成員變量。 原因:static 表示該成員變量屬于類本身,而不是任何對象實例;const 表示該成員變量的值不可修改。兩者可以結(jié)合使用,表示一個全局不可修改的常量。 (4) 成員函數(shù) static 和 const 不能同時修飾成員函數(shù)。 原因: static 表示該函數(shù)屬于類本身,而不是任何對象實例,因此它沒有 this 指針。 const 表示該函數(shù)不能修改對象的狀態(tài),但它仍然需要通過 this 指針訪問對象。 由于 static 函數(shù)沒有 this 指針,而 const 函數(shù)需要 this 指針,因此兩者不能同時使用

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號