91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6.13MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-02
  • 語言: 其他
  • 標簽: 北郵??BUPT??

資源簡介

BUPT,計算機學院大二下年課程設計,DNS中繼服務器的設計與實現,里面整合了完整的源代碼、實驗報告等,供參考。

資源截圖

代碼片段和文件信息

#include?“head.h“

/*?Set?expire?time?of?the?specified?record?*/
void?Set_ID_Expire(ID_Trans_Unit*?record?int?ttl)
{
????record->expire_time?=?time(NULL)?+?ttl;???/*?expire_time?=?time?now?+?time?to?live?*/
}

/*?Check?whether?the?record?is?expired?*/
int?Check_ID_Expired(ID_Trans_Unit*?record)
{
return?record->expire_time?>?0?&&?time(NULL)?>?record->expire_time;
}

/*?Register?new?ID?into?ID_Trans_Table?*/
unsigned?short?Register_New_ID(unsigned?short?ID?SOCKADDR_IN?temp?BOOL?if_done)
{
????int?i?=?0;
????for?(i?=?0;?i?!=?MAX_ID_TRANS_TABLE_SIZE;?++i)
????{
????????/*?Find?out?overdue?record?or?a?record?which?was?analysed?completely?*/
????????if?(Check_ID_Expired(&ID_Trans_Table[i])?==?1?||?ID_Trans_Table[i].done?==?TRUE)
????????{
????????????ID_Trans_Table[i].old_ID?=?ID;?????/*?Set?ID?*/
????????????ID_Trans_Table[i].client?=?temp;???/*?socket_addr?*/
????????????ID_Trans_Table[i].done?=?if_done;??/*?Mark?whether?analysis?completed?*/
????????????Set_ID_Expire(&ID_Trans_Table[i]?ID_EXPIRE_TIME);
????????????ID_Count++;
????????????if?(debug_level)
{
printf(“New?ID?:?%d?registered?successfully\n“?i?+?1);
printf(“#ID?Count?:?%d\n“?ID_Count);
}
????????????break;
????????}
????}
????if?(i?==?MAX_ID_TRANS_TABLE_SIZE)?/*?Register?failed?*/
????????return?0;
????return?(unsigned?short)i?+?1;?/*?Return?new?ID?*/
}

/*?Convert?buf?content?to?url?and?save?into?dest?*/
void?Convert_to_Url?(char*?buf?char*?dest)
{
????int?i?=?0?j?=?0?k?=?0?len?=?strlen(buf);
????while?(i?????{
????????if?(buf[i]?>?0?&&?buf[i]?<=?63)?/*?Count?*/
????????{
????????????for?(j?=?buf[i]?i++;?j?>?0;?j--?i++?k++)?/*?Copy?the?url?*/
????????????????dest[k]?=?buf[i];
????????}
????????if?(buf[i]?!=?0)?/*?If?this?is?not?the?end?put?a?dot?into?dest?*/
????????{
????????????dest[k]?=?‘.‘;
????????????k++;
????????}
????}
????dest[k]?=?‘\0‘;?/*?Set?the?end?*/
}

/*?Output?the?whole?packet?*/
void?Output_Packet(char?*bufint?length)
{
unsigned?char?unit;
????printf(“Packet?length?=?%d\n“?length);
printf(“Details?of?the?package:\n“);
for(int?i?=?0;?i? {
unit?=(unsigned?char)buf[i];
printf(“%02x?“?unit);
}
printf(“\n“);
}

/*?Receive?packet?from?exterior?*/
void?Receive_from_Extern()
{
char?buf[MAX_BUF_SIZE]?url[65];
memset(buf?0?MAX_BUF_SIZE);
????int?length?=?-1;
????length?=?recvfrom(extern_sock?buf?sizeof(buf)?0?(struct?sockaddr*)&external?&length_client);?/*?Receive?DNS?packet?from?exterior?*/
????if?(length?>?-1)
????{
if?(debug_level)
{
printf(“\n\n----?Recv?:?Extern?[IP:%s]----\n“?inet_ntoa(external.sin_addr));

/*?Output?time?now?*/
time_t?t?=?time(NULL);
char?temp[64];
strftime(temp?sizeof(temp)?“%Y/%m/%d?%X?%A“?localtime(&t));
printf(“%s\n“?temp);

if?(debug_level?==?2)
Output_Packet(buf?length);
}

/*?Get?ID?index?*/
????????unsigned?short?*pID?=?(unsigned?short?*)ma

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-15?23:28??1814陳斌-1815李奕陽-1816羅陽\
?????目錄???????????0??2019-06-15?23:28??1814陳斌-1815李奕陽-1816羅陽\可執行文件\
?????文件??????193536??2019-06-09?00:00??1814陳斌-1815李奕陽-1816羅陽\可執行文件\dnsrelay.exe
?????文件??????????80??2019-06-05?23:05??1814陳斌-1815李奕陽-1816羅陽\可執行文件\dnsrelay.txt
?????目錄???????????0??2019-06-15?23:28??1814陳斌-1815李奕陽-1816羅陽\源代碼文件\
?????文件??????????80??2019-06-05?23:05??1814陳斌-1815李奕陽-1816羅陽\源代碼文件\dnsrelay.txt
?????文件????????3726??2019-06-09?00:01??1814陳斌-1815李奕陽-1816羅陽\源代碼文件\head.h
?????文件???????14165??2019-06-09?00:01??1814陳斌-1815李奕陽-1816羅陽\源代碼文件\main.cpp
?????目錄???????????0??2019-06-15?23:28??1814陳斌-1815李奕陽-1816羅陽\設計報告\
?????文件?????4799488??2019-06-09?00:11??1814陳斌-1815李奕陽-1816羅陽\設計報告\1814陳斌-1815李奕陽-1816羅陽.doc
?????文件?????2131851??2019-06-09?00:11??1814陳斌-1815李奕陽-1816羅陽\設計報告\1814陳斌-1815李奕陽-1816羅陽.pdf

評論

共有 條評論