本書全面介紹了計(jì)算機(jī)系統(tǒng)中的一個(gè)重要軟件——操作系統(tǒng)(OS),本書是第三版,對(duì)2001 年出版的 修訂版的各章內(nèi)容均作了較多的修改,基本上能反映當(dāng)前操作系統(tǒng)發(fā)展的現(xiàn)狀,但章節(jié)名稱基本保持不變。 全書仍分為10章,第一章介紹了OS的發(fā)展、特征、功能以及OS結(jié)構(gòu);第二、三章深入地闡述了進(jìn)程和 線程的基本概念、同步與通信、調(diào)度與死鎖;第四章對(duì)連續(xù)和離散存儲(chǔ)器管理方式及虛擬存儲(chǔ)器進(jìn)行了介 紹;第五章為設(shè)備管理,對(duì)I/O軟件的層次結(jié)構(gòu)作了較深入的闡述;第六、七章分別是文件管理和用戶接 口;第八章介紹了計(jì)算機(jī)網(wǎng)絡(luò)、網(wǎng)絡(luò)體系結(jié)構(gòu)、網(wǎng)絡(luò)提供的功能和服務(wù)以及internet;第九章對(duì)保障系統(tǒng) 安全的各種技術(shù)和計(jì)算機(jī)病毒都作了較詳細(xì)的介紹;第十章是一個(gè)典型的OS 實(shí)例——UNIX 系統(tǒng)內(nèi)核 結(jié)構(gòu)。 本書可作為計(jì)算機(jī)硬件和軟件以及計(jì)算機(jī)通信專業(yè)的本科生教材,也可作為從事計(jì)算機(jī)及通信工作的 相關(guān)科技人員的參考書。
標(biāo)簽: 計(jì)算機(jī) 操作系統(tǒng)
上傳時(shí)間: 2015-06-16
上傳用戶:xlfnmamtf
/* ********************************************************************************************************* * uC/TCP-IP V2 * The Embedded TCP/IP Suite * * (c) Copyright 2003-2010; Micrium, Inc.; Weston, FL * * All rights reserved. Protected by international copyright laws. * * uC/TCP-IP is provided in source form to registered licensees ONLY. It is * illegal to distribute this source code to any third party unless you receive * written permission by an authorized Micrium representative. Knowledge of * the source code may NOT be used to develop a similar product. * * Please help us continue to provide the Embedded community with the finest * software available. Your honesty is greatly appreciated. * * You can contact us at www.micrium.com. ********************************************************************************************************* */ /* ********************************************************************************************************* * * NETWORK TCP LAYER * (TRANSMISSION CONTROL PROTOCOL) * * Filename : net_tcp.h * Version : V2.10 * Programmer(s) : ITJ ********************************************************************************************************* * Note(s) : (1) Supports Transmission Control Protocol as described in RFC #793 with the following * restrictions/constraints : * * (a) TCP Security & Precedence NOT supported RFC # 793, Section 3.6 * * (b) TCP Urgent Data NOT supported RFC # 793, Section 3.7 * 'The Communication of * Urgent Information' * * (c) The following TCP options NOT supported : * * (1) Window Scale RFC #1072, Section 2 * RFC #1323, Section 2 * (2) Selective Acknowledgement (SACK) RFC #1072, Section 3 * RFC #2018 * RFC #2883 * (3) TCP Echo RFC #1072, Section 4 * (4) Timestamp RFC #1323, Section 3.2 * (5) Protection Against Wrapped Sequences (PAWS) RFC #1323, Section 4 * * (d) #### IP-Options-to-TCP-Connection RFC #1122, Section 4.2.3.8 * Handling NOT supported * * (e) #### ICMP-Error-Message-to-TCP-Connection RFC #1122, Section 4.2.3.9 * Handling NOT currently supported * * (2) TCP Layer assumes/requires Network Socket Layer (see 'net_sock.h MODULE Note #1a2'). ********************************************************************************************************* */ /*$PAGE*/ /* ********************************************************************************************************* * MODULE * * Note(s) : (1) TCP Layer module is NOT required for UDP-to-Application API configuration. * * See also 'net_cfg.h TRANSPORT LAYER CONFIGURATION' * & 'net_cfg.h USER DATAGRAM PROTOCOL LAYER CONFIGURATION'. * * See also 'net_tcp.h Note #2'. * * (2) The following TCP-module-present configuration value MUST be pre-#define'd in * 'net_cfg_net.h' PRIOR to all other network modules that require TCP Layer * configuration (see 'net_cfg_net.h TCP LAYER CONFIGURATION Note #2b') : * * NET_TCP_MODULE_PRESENT ********************************************************************************************************* */ #ifdef NET_TCP_MODULE_PRESENT /* See Note #2. */ /* ********************************************************************************************************* * EXTERNS ********************************************************************************************************* */ #if ((defined(NET_TCP_MODULE)) && \ (defined(NET_GLOBALS_EXT))) #define NET_TCP_EXT #else #define NET_TCP_EXT extern #endif /*$PAGE*/ /* ********************************************************************************************************* * DEFINES ********************************************************************************************************* */ /* ********************************************************************************************************* * TCP HEADER DEFINES * * Note(s) : (1) The following TCP value MUST be pre-#define'd in 'net_def.h' PRIOR to 'net_buf.h' so that * the Network Buffer Module can configure maximum buffer header size (see 'net_def.h TCP * LAYER DEFINES' & 'net_buf.h NETWORK BUFFER INDEX & SIZE DEFINES Note #1') : * * (a) NET_TCP_HDR_SIZE_MAX 60 (NET_TCP_HDR_LEN_MAX * * NET_TCP_HDR_LEN_WORD_SIZE) * * (2) Urgent pointer & data NOT supported (see 'net_tcp.h Note #1b'). ********************************************************************************************************* */ #define NET_TCP_HDR_LEN_MASK 0xF000u #define NET_TCP_HDR_LEN_SHIFT 12u #define NET_TCP_HDR_LEN_NONE 0u #define NET_TCP_HDR_LEN_MIN 5u #define NET_TCP_HDR_LEN_MAX 15u #define NET_TCP_HDR_LEN_WORD_SIZE CPU_WORD_SIZE_32 #define NET_TCP_HDR_SIZE_MIN (NET_TCP_HDR_LEN_MIN * NET_TCP_HDR_LEN_WORD_SIZE) #if 0 /* See Note #1a. */ #define NET_TCP_HDR_SIZE_MAX (NET_TCP_HDR_LEN_MAX * NET_TCP_HDR_LEN_WORD_SIZE) #endif #define NET_TCP_HDR_SIZE_TOT_MIN (NET_IP_HDR_SIZE_TOT_MIN + NET_TCP_HDR_SIZE_MIN) #define NET_TCP_HDR_SIZE_TOT_MAX (NET_IP_HDR_SIZE_TOT_MAX + NET_TCP_HDR_SIZE_MAX) #define NET_TCP_PSEUDO_HDR_SIZE 12u /* = sizeof(NET_TCP_PSEUDO_HDR) */ #define NET_TCP_PORT_NBR_RESERVED NET_PORT_NBR_RESERVED #define NET_TCP_PORT_NBR_NONE NET_TCP_PORT_NBR_RESERVED #define NET_TCP_HDR_URG_PTR_NONE 0x0000u /* See Note #2. */ /*$PAGE*/ /* ********************************************************************************************************* * TCP HEADER FLAG DEFINES * * Note(s) : (1) See 'TCP HEADER Note #2' for flag fields. * * (2) Urgent pointer & data NOT supported (see 'net_tcp.h Note #1b'). ********************************************************************************************************* */ #define NET_TCP_HDR_FLAG_MASK 0x0FFFu #define NET_TCP_HDR_FLAG_NONE DEF_BIT_NONE #define NET_TCP_HDR_FLAG_RESERVED 0x0FE0u /* MUST be '0'. */ #define NET_TCP_HDR_FLAG_URGENT DEF_BIT_05 /* See Note #2. */ #define NET_TCP_HDR_FLAG_ACK DEF_BIT_04 #define NET_TCP_HDR_FLAG_PUSH DEF_BIT_03 #define NET_TCP_HDR_FLAG_RESET DEF_BIT_02 #define NET_TCP_HDR_FLAG_SYNC DEF_BIT_01 #define NET_TCP_HDR_FLAG_FIN DEF_BIT_00 #define NET_TCP_HDR_FLAG_CLOSE NET_TCP_HDR_FLAG_FIN /* ********************************************************************************************************* * TCP FLAG DEFINES ********************************************************************************************************* */ /* ------------------ NET TCP FLAGS ------------------- */ #define NET_TCP_FLAG_NONE DEF_BIT_NONE #define NET_TCP_FLAG_USED DEF_BIT_00 /* TCP conn cur used; i.e. NOT in free TCP conn pool. */ /* ------------------ TCP TX FLAGS ------------------- */ /* TCP tx flags copied from TCP hdr flags. */ #define NET_TCP_FLAG_TX_FIN NET_TCP_HDR_FLAG_FIN #define NET_TCP_FLAG_TX_CLOSE NET_TCP_FLAG_TX_FIN #define NET_TCP_FLAG_TX_SYNC NET_TCP_HDR_FLAG_SYNC #define NET_TCP_FLAG_TX_RESET NET_TCP_HDR_FLAG_RESET #define NET_TCP_FLAG_TX_PUSH NET_TCP_HDR_FLAG_PUSH #define NET_TCP_FLAG_TX_ACK NET_TCP_HDR_FLAG_ACK #define NET_TCP_FLAG_TX_URGENT NET_TCP_HDR_FLAG_URGENT #define NET_TCP_FLAG_TX_BLOCK DEF_BIT_07 /* ------------------ TCP RX FLAGS ------------------- */ #define NET_TCP_FLAG_RX_DATA_PEEK DEF_BIT_08 #define NET_TCP_FLAG_RX_BLOCK DEF_BIT_15 /*$PAGE*/ /* ********************************************************************************************************* * TCP TYPE DEFINES * * Note(s) : (1) NET_TCP_TYPE_&&& #define values specifically chosen as ASCII representations of the TCP * types. Memory displays of TCP types will display with their chosen ASCII names. ********************************************************************************************************* */ /* ------------------ NET TCP TYPES ------------------- */ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define NET_TCP_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x54435020u /* "TCP " in ASCII. */ #else #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32) #define NET_TCP_TYPE_NONE 0x454E4F4Eu /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x20504354u /* "TCP " in ASCII. */ #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16) #define NET_TCP_TYPE_NONE 0x4F4E454Eu /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x43542050u /* "TCP " in ASCII. */ #else /* Dflt CPU_WORD_SIZE_08. */ #define NET_TCP_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x54435020u /* "TCP " in ASCII. */ #endif #endif /* ********************************************************************************************************* * TCP SEQUENCE NUMBER DEFINES * * Note(s) : (1) TCP initial transmit sequence number is incremented by a fixed value, preferably a large * prime value or a large value with multiple unique factors. * * (a) One reasonable TCP initial transmit sequence number increment value example : * * 65527 = 37 * 23 * 11 * 7 * * * #### NET_TCP_TX_SEQ_NBR_CTR_INC could be developer-configured in 'net_cfg.h'. * * See also 'NET_TCP_TX_GET_SEQ_NBR() Notes #1b2 & #1c2'. ********************************************************************************************************* */ #define NET_TCP_SEQ_NBR_NONE 0u #define NET_TCP_ACK_NBR_NONE NET_TCP_SEQ_NBR_NONE #define NET_TCP_TX_SEQ_NBR_CTR_INC 65527u /* See Note #1. */ #define NET_TCP_ACK_NBR_DUP_WIN_SIZE_SCALE 4 /*$PAGE*/ /* ********************************************************************************************************* * TCP DATA/TOTAL LENGTH DEFINES * * Note(s) : (1) (a) TCP total length #define's (NET_TCP_TOT_LEN) relate to the total size of a complete * TCP packet, including the packet's TCP header. Note that a complete TCP packet MAY * be fragmented in multiple internet Protocol packets. * * (b) TCP data length #define's (NET_TCP_DATA_LEN) relate to the data size of a complete * TCP packet, equal to the total TCP packet length minus its TCP header size. Note * that a complete TCP packet MAY be fragmented in multiple internet Protocol packets. ********************************************************************************************************* */ /* See Notes #1a & #1b. */ #define NET_TCP_DATA_LEN_MIN 0u #define NET_TCP_TOT_LEN_MIN (NET_TCP_HDR_SIZE_MIN + NET_TCP_DATA_LEN_MIN) #define NET_TCP_TOT_LEN_MAX (NET_IP_TOT_LEN_MAX - NET_IP_HDR_SIZE_MIN ) #define NET_TCP_DATA_LEN_MAX (NET_TCP_TOT_LEN_MAX - NET_TCP_HDR_SIZE_MIN) /*$PAGE*/ /* ********************************************************************************************************* * TCP SEGMENT SIZE DEFINES * * Note(s) : (1) (a) RFC # 879, Section 3 states that the TCP Maximum Segment Size "counts only * data octets in the segment, ... not the TCP header or the IP header". * * (b) RFC #1122, Section 4.2.2.6 requires that : * * (1) "The MSS value to be sent in an MSS option must be less than or equal to * * (A) MMS_R - 20 * * where MMS_R is the maximum size for a transport-layer message that can * be received." * * (2) "If an MSS option is not received at connection setup, TCP MUST assume a * default send MSS of 536 (576 - 40)." * * See also 'net_ip.h IP DATA/TOTAL LENGTH DEFINES Note #1'. ********************************************************************************************************* */ /* See Note #1. */ #define NET_TCP_MAX_SEG_SIZE_DFLT (NET_IP_MAX_DATAGRAM_SIZE_DFLT - NET_IP_HDR_SIZE_MIN - NET_TCP_HDR_SIZE_MIN) #define NET_TCP_MAX_SEG_SIZE_DFLT_RX NET_TCP_DATA_LEN_MAX /* See Note #1b1. */ #define NET_TCP_MAX_SEG_SIZE_DFLT_TX NET_TCP_MAX_SEG_SIZE_DFLT /* See Note #1b2. */ #define NET_TCP_MAX_SEG_SIZE_NONE 0u #define NET_TCP_MAX_SEG_SIZE_MIN NET_TCP_MAX_SEG_SIZE_DFLT #define NET_TCP_MAX_SEG_SIZE_MAX NET_TCP_DATA_LEN_MAX #define NET_TCP_SEG_LEN_MIN NET_TCP_DATA_LEN_MIN #define NET_TCP_SEG_LEN_MAX NET_TCP_DATA_LEN_MAX #define NET_TCP_SEG_LEN_SYNC 1u #define NET_TCP_SEG_LEN_FIN 1u #define NET_TCP_SEG_LEN_CLOSE NET_TCP_SEG_LEN_FIN #define NET_TCP_SEG_LEN_ACK 0u #define NET_TCP_SEG_LEN_RESET 0u #define NET_TCP_SEG_LEN_PROBE 0u #define NET_TCP_DATA_LEN_TX_SYNC 0u #define NET_TCP_DATA_LEN_TX_FIN 0u #define NET_TCP_DATA_LEN_TX_CLOSE NET_TCP_DATA_LEN_TX_FIN #define NET_TCP_DATA_LEN_TX_ACK 0u #define NET_TCP_DATA_LEN_TX_PROBE_NO_DATA 0u #define NET_TCP_DATA_LEN_TX_PROBE_DATA 1u #define NET_TCP_DATA_LEN_TX_RESET 0u #define NET_TCP_TX_PROBE_DATA 0x00u /* ********************************************************************************************************* * TCP WINDOW SIZE DEFINES * * Note(s) : (1) Although NO RFC specifies the absolute minimum TCP connection window size value allowed, * RFC #793, Section 3.7 'Data Communication : Managing the Window' states that for "the * window ... there is an assumption that this is related to the currently available data * buffer space available for this connection". ********************************************************************************************************* */ #define NET_TCP_WIN_SIZE_NONE 0u #define NET_TCP_WIN_SIZE_MIN NET_TCP_MAX_SEG_SIZE_MIN #define NET_TCP_WIN_SIZE_MAX DEF_INT_16U_MAX_VAL /*$PAGE*/ /* ********************************************************************************************************* * TCP HEADER OPTIONS DEFINES * * Note(s) : (1) See the following RFC's for TCP options summary : * * (a) RFC # 793, Section 3.1 'Header Format : Options' * (b) RFC #1122; Sections 4.2.2.5, 4.2.2.6 * * (2) TCP option types are encoded in the first octet for each TCP option as follows : * * -------- * | TYPE | * -------- * * The TCP option type value determines the TCP option format : * * (a) The following TCP option types are single-octet TCP options -- i.e. the option type * octet is the ONLY octet for the TCP option. * * (1) TYPE = 0 End of Options List * (2) TYPE = 1 No Operation * * * (b) All other TCP options MUST be multi-octet TCP options (see RFC #1122, Section 4.2.2.5) : * * ------------------------------ * | TYPE | LEN | TCP OPT | * ------------------------------ * * where * TYPE Indicates the specific TCP option type * LEN Indicates the total TCP option length, in octets, including * the option type & the option length octets * TCP OPT Additional TCP option octets, if any, that contain the remaining * TCP option information * * The following TCP option types are multi-octet TCP options where the option's second * octet specify the total TCP option length, in octets, including the option type & the * option length octets : * * (1) TYPE = 2 Maximum Segment Size See RFC # 793, Section 3.1 'Header Format : * Options : Maximum Segment Size'; * RFC #1122, Section 4.2.2.6; * RFC # 879, Section 3 * * (2) TYPE = 3 Window Scale See 'net_tcp.h Note #1c1' * (3) TYPE = 4 SACK Allowed See 'net_tcp.h Note #1c2' * (4) TYPE = 5 SACK Option See 'net_tcp.h Note #1c2' * (5) TYPE = 6 Echo Request See 'net_tcp.h Note #1c3' * (6) TYPE = 7 Echo Reply See 'net_tcp.h Note #1c3' * (7) TYPE = 8 Timestamp See 'net_tcp.h Note #1c4' * * (3) TCP header allows for a maximum option list length of 40 octets : * * NET_TCP_HDR_OPT_SIZE_MAX = NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN * * = 60 - 20 * * = 40 * * (4) 'NET_TCP_OPT_SIZE' MUST be pre-defined PRIOR to all definitions that require TCP option * size data type. ********************************************************************************************************* */ /*$PAGE*/ #define NET_TCP_HDR_OPT_END_LIST 0u #define NET_TCP_HDR_OPT_NOP 1u #define NET_TCP_HDR_OPT_MAX_SEG_SIZE 2u #define NET_TCP_HDR_OPT_WIN_SCALE 3u #define NET_TCP_HDR_OPT_SACK_PERMIT 4u #define NET_TCP_HDR_OPT_SACK 5u #define NET_TCP_HDR_OPT_ECHO_REQ 6u #define NET_TCP_HDR_OPT_ECHO_REPLY 7u #define NET_TCP_HDR_OPT_TS 8u #define NET_TCP_HDR_OPT_PAD NET_TCP_HDR_OPT_END_LIST #define NET_TCP_HDR_OPT_LEN_END_LIST 1u #define NET_TCP_HDR_OPT_LEN_NOP 1u #define NET_TCP_HDR_OPT_LEN_MAX_SEG_SIZE 4u #define NET_TCP_HDR_OPT_LEN_WIN_SCALE 3u #define NET_TCP_HDR_OPT_LEN_SACK_PERMIT 2u #define NET_TCP_HDR_OPT_LEN_ECHO_REQ 6u #define NET_TCP_HDR_OPT_LEN_ECHO_REPLY 6u #define NET_TCP_HDR_OPT_LEN_TS 10u #define NET_TCP_HDR_OPT_LEN_SACK_MIN 6u #define NET_TCP_HDR_OPT_LEN_SACK_MAX 38u #define NET_TCP_HDR_OPT_LEN_MIN 1u #define NET_TCP_HDR_OPT_LEN_MIN_LEN 2u #define NET_TCP_HDR_OPT_LEN_MAX 38u typedef CPU_INT32U NET_TCP_OPT_SIZE; /* TCP opt size data type (see Note #4). */ #define NET_TCP_HDR_OPT_SIZE_WORD (sizeof(NET_TCP_OPT_SIZE)) #define NET_TCP_HDR_OPT_SIZE_MAX (NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN) #define NET_TCP_HDR_OPT_NBR_MIN 0u #define NET_TCP_HDR_OPT_NBR_MAX (NET_TCP_HDR_OPT_SIZE_MAX / NET_TCP_HDR_OPT_SIZE_WORD) #define NET_TCP_HDR_OPT_IX NET_TCP_HDR_SIZE_MIN /*$PAGE*/ /* ********************************************************************************************************* * TCP OPTION CONFIGURATION TYPE DEFINES * * Note(s) : (1) NET_TCP_OPT_CFG_TYPE_&&& #define values specifically chosen as ASCII representations of * the TCP option configuration types. Memory displays of TCP option configuration buffers * will display the TCP option configuration TYPEs with their chosen ASCII names. ********************************************************************************************************* */ /* ---------------- TCP OPT CFG TYPES ----------------- */ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define NET_TCP_OPT_CFG_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x4D535320u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x57494E20u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x53434B50u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x5341434Bu /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x45524551u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4543484Fu /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x54532020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #else #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32) #define NET_TCP_OPT_CFG_TYPE_NONE 0x454E4F4Eu /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x2053534Du /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x204E4957u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x504B4353u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x4B434153u /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x51455245u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4F484345u /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x20205354u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16) #define NET_TCP_OPT_CFG_TYPE_NONE 0x4F4E454Eu /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x534D2053u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x4957204Eu /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x4353504Bu /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x41534B43u /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x52455145u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x43454F48u /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x53542020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #else /* Dflt CPU_WORD_SIZE_08. */ #define NET_TCP_OPT_CFG_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x4D535320u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x57494E20u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x53434B50u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x5341434Bu /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x45524551u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4543484Fu /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x54532020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #endif #endif /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION TIMEOUT DEFINES * * Note(s) : (1) (a) (1) RFC #1122, Section 4.2.2.13 'DISCUSSION' states that "the graceful close algorithm * of TCP requires that the connection state remain defined on (at least) one end of * the connection, for a timeout period of 2xMSL ... During this period, the (remote * socket, local socket) pair that defines the connection is busy and cannot be reused". * * (2) The following sections reiterate that the TIME-WAIT state timeout scalar is two * maximum segment lifetimes (2 MSL) : * * (A) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : * Check Sequence Number : TIME-WAIT STATE' * (B) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : * Check FIN Bit : TIME-WAIT STATE' * * (b) (1) RFC #793, Section 3.3 'Sequence Numbers : Knowing When to Keep Quiet' states that * "the Maximum Segment Lifetime (MSL) is ... to be 2 minutes. This is an engineering * choice, and may be changed if experience indicates it is desirable to do so". * * (2) Microsoft Corporation's Windows XP defaults MSL to 15 seconds. ********************************************************************************************************* */ /* Max seg timeout (see Note #1b) : */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_MIN_SEC ( 0u ) /* ... min = 0 seconds */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_MAX_SEC ( 2u * DEF_TIME_NBR_SEC_PER_MIN) /* ... max = 2 minutes */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_DFLT_SEC ( 15u ) /* ... dflt = 15 seconds */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_SCALAR 2u /* ... scalar (see Note #1a). */ #define NET_TCP_CONN_TIMEOUT_CONN_DFLT_SEC (120u * DEF_TIME_NBR_SEC_PER_MIN) /* Dflt conn timeout = 120 minutes */ #define NET_TCP_CONN_TIMEOUT_USER_DFLT_SEC ( 30u * DEF_TIME_NBR_SEC_PER_MIN) /* Dflt user timeout = 30 minutes */ /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION STATES * * Note(s) : (1) See the following RFC's for TCP state machine summary : * * (a) RFC # 793; Sections 3.2, 3.4, 3.5, 3.9 * (b) RFC #1122; Sections 4.2.2.8, 4.2.2.10, 4.2.2.11, 4.2.2.13, 4.2.2.18, 4.2.2.20 * * (2) (a) #### Additional closing-data-available state used for closing connections to allow the * application layer to receive any remaining data. * * See also 'net_tcp.c NetTCP_RxPktConnHandlerFinWait1() Note #2f5A2', * 'net_tcp.c NetTCP_RxPktConnHandlerFinWait2() Note #2f5B', * 'net_tcp.c NetTCP_RxPktConnHandlerClosing() Note #2d2B2a1B', * & 'net_tcp.c NetTCP_RxPktConnHandlerLastAck() Note #2d2A1b'. ********************************************************************************************************* */ #define NET_TCP_CONN_STATE_NONE 0u #define NET_TCP_CONN_STATE_FREE 1u #define NET_TCP_CONN_STATE_CLOSED 10u #define NET_TCP_CONN_STATE_LISTEN 20u #define NET_TCP_CONN_STATE_SYNC_RXD 30u #define NET_TCP_CONN_STATE_SYNC_RXD_PASSIVE 31u #define NET_TCP_CONN_STATE_SYNC_RXD_ACTIVE 32u #define NET_TCP_CONN_STATE_SYNC_TXD 35u #define NET_TCP_CONN_STATE_CONN 40u #define NET_TCP_CONN_STATE_FIN_WAIT_1 50u #define NET_TCP_CONN_STATE_FIN_WAIT_2 51u #define NET_TCP_CONN_STATE_CLOSING 52u #define NET_TCP_CONN_STATE_TIME_WAIT 53u #define NET_TCP_CONN_STATE_CLOSE_WAIT 55u #define NET_TCP_CONN_STATE_LAST_ACK 56u #define NET_TCP_CONN_STATE_CLOSING_DATA_AVAIL 59u /* See Note #2a. */ /* ********************************************************************************************************* * TCP CONNECTION QUEUE STATES ********************************************************************************************************* */ #define NET_TCP_RX_Q_STATE_NONE 0u #define NET_TCP_RX_Q_STATE_CLOSED 100u #define NET_TCP_RX_Q_STATE_CLOSING 101u #define NET_TCP_RX_Q_STATE_SYNC 110u #define NET_TCP_RX_Q_STATE_CONN 111u #define NET_TCP_TX_Q_STATE_NONE 0u #define NET_TCP_TX_Q_STATE_CLOSED 200u #define NET_TCP_TX_Q_STATE_CLOSING 201u #define NET_TCP_TX_Q_STATE_SYNC 210u #define NET_TCP_TX_Q_STATE_CONN 211u #define NET_TCP_TX_Q_STATE_SUSPEND 215u #define NET_TCP_TX_Q_STATE_CLOSED_SUSPEND 220u #define NET_TCP_TX_Q_STATE_CLOSING_SUSPEND 221u /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION CODE DEFINES **************
上傳時(shí)間: 2015-11-22
上傳用戶:the same kong
IE9即:微軟的Web瀏覽器internet Explorer 9.0(通常稱:IE瀏覽器),是當(dāng)今個(gè)人電腦中最為流行的互聯(lián)網(wǎng)工具。 IE9擁有比以往任何IE版本更大規(guī)模的變化,尤其在兼容性和性能兩大方面有了飛躍式的改進(jìn)。Windows internet Explorer 9 借助 Windows 的強(qiáng)大功能提供外觀和功能都與本機(jī) PC 應(yīng)用程序類似的網(wǎng)站和應(yīng)用程序。
標(biāo)簽: IE 9.0 中文版
上傳時(shí)間: 2016-05-02
上傳用戶:snwcpal
Fiddler is a free web debugging tool which logs all HTTP(S) traffic between your computer and the internet. Inspect traffic, set breakpoints
標(biāo)簽: 抓包 網(wǎng)絡(luò)
上傳時(shí)間: 2016-06-03
上傳用戶:ttry
思科 ASA-VPN配置完整版 由于在某些環(huán)境下,通過internet連接的遠(yuǎn)程網(wǎng)絡(luò)之間,雙方需要直接使用對(duì)方私有IP地址來互訪,而私有IP網(wǎng)段是不能傳遞到internet上進(jìn)行路由的,在數(shù)據(jù)包封裝為私有IP發(fā)到internet之后,由于internet的路由器沒有私有IP網(wǎng)段,所以最終數(shù)據(jù)包將全部被丟棄而不能到達(dá)真正目的地。
標(biāo)簽: ASA-VPN
上傳時(shí)間: 2017-08-11
上傳用戶:testadmin
《Java網(wǎng)絡(luò)編程(第四版)》實(shí)用指南全面介紹了如何使用Java開發(fā)網(wǎng)絡(luò)程序。你將學(xué)習(xí)如何使用Java的網(wǎng)絡(luò)類庫既快速又輕松地完成常見的網(wǎng)絡(luò)編程任務(wù),如編寫多線程服務(wù)器、加密通信、廣播到本地網(wǎng)絡(luò),以及向服務(wù)器端程序提交數(shù)據(jù)。作者提供了真正可實(shí)用的程序來講解他介紹的方法和類。第4版經(jīng)過全面修訂,已經(jīng)涵蓋REST、SPDY、異步I/O和很多其他高級(jí)技術(shù)。本書主要內(nèi)容有:研究internet底層協(xié)議,如TCP/IP和UDP/IP;了解Java的核心I/O API如何處理網(wǎng)絡(luò)輸入和輸出;發(fā)現(xiàn)InetAddress類如何幫助Java程序與DNS交互;用Java的URI和URL類定位、識(shí)別和下載網(wǎng)絡(luò)資源;深入研究HTTP協(xié)議,包括REST、HTTP首部和cookie;使用Java的底層Socket類編寫服務(wù)器和網(wǎng)絡(luò)客戶端;利用非阻塞I/O同時(shí)管理多個(gè)連接
標(biāo)簽: JAVA 網(wǎng)絡(luò)編程 源碼
上傳時(shí)間: 2018-12-24
上傳用戶:liudagong
《Java網(wǎng)絡(luò)編程(第四版)》實(shí)用指南全面介紹了如何使用Java開發(fā)網(wǎng)絡(luò)程序。你將學(xué)習(xí)如何使用Java的網(wǎng)絡(luò)類庫既快速又輕松地完成常見的網(wǎng)絡(luò)編程任務(wù),如編寫多線程服務(wù)器、加密通信、廣播到本地網(wǎng)絡(luò),以及向服務(wù)器端程序提交數(shù)據(jù)。作者提供了真正可實(shí)用的程序來講解他介紹的方法和類。第4版經(jīng)過全面修訂,已經(jīng)涵蓋REST、SPDY、異步I/O和很多其他高級(jí)技術(shù)。本書主要內(nèi)容有:研究internet底層協(xié)議,如TCP/IP和UDP/IP;了解Java的核心I/O API如何處理網(wǎng)絡(luò)輸入和輸出;發(fā)現(xiàn)InetAddress類如何幫助Java程序與DNS交互;用Java的URI和URL類定位、識(shí)別和下載網(wǎng)絡(luò)資源;深入研究HTTP協(xié)議,包括REST、HTTP首部和cookie;使用Java的底層Socket類編寫服務(wù)器和網(wǎng)絡(luò)客戶端;利用非阻塞I/O同時(shí)管理多個(gè)連接
標(biāo)簽: JAVA 網(wǎng)絡(luò)編程
上傳時(shí)間: 2018-12-24
上傳用戶:liudagong
Windows7下IE 8使用技巧5則 IE幾乎是各位菜鳥、大蝦上網(wǎng)時(shí)的首選瀏覽器,有關(guān)它的常規(guī)使用技巧,相信各位早已是耳熟能詳了。只要你足夠用心、細(xì)心,就一定會(huì)不斷“挖掘”出IE新的使用技巧來。不信,就來看看下面的幾則新鮮用法吧,相信會(huì)讓各位有耳目一新之感! 1.尋找失落的IE啟動(dòng)按鈕 正常情況下,IE瀏覽器的快速啟動(dòng)按鈕會(huì)在系統(tǒng)任務(wù)欄中“安家落戶”,可是一旦操作不小心,往往會(huì)導(dǎo)致IE瀏覽器的快速啟動(dòng)按鈕在任務(wù)欄中“消失”。那么 你面對(duì)IE啟動(dòng)按鈕從系統(tǒng)任務(wù)欄中消失時(shí),你該如何去將它尋找回來呢?其實(shí)方法很簡(jiǎn)單,只要你按照下面的步驟來進(jìn)行操作就可以了。 首先用鼠標(biāo)右鍵單擊桌面中的IE瀏覽器圖標(biāo),從彈出的快捷菜單中執(zhí)行“創(chuàng)建快捷方式”命令,這樣就能為IE瀏覽器創(chuàng)建好一個(gè)對(duì)應(yīng)的快捷方式。 接著打開系統(tǒng)資源管理窗口,依次雙擊C盤中的“Windows”文件夾、“ApplicationData”文件夾、“Microsoft”文件夾、 “internetExplorer”文件夾、“QuickLaunch”文件夾;然后將桌面中創(chuàng)建好的IE快捷方式,直接拖動(dòng)到 “QuickLaunch”文件夾窗口中。 當(dāng)然還有更簡(jiǎn)潔的方法,那就是直接將系統(tǒng)桌面中的IE瀏覽器圖標(biāo),用鼠標(biāo)左鍵拖動(dòng)到系統(tǒng)任務(wù)欄中,不過在拖放時(shí)一定要在出現(xiàn)虛線圖標(biāo)之后才可以。 2.讓IE也能斷點(diǎn)續(xù)傳 大家知道,單擊IE頁面中的某個(gè)下載鏈接地址時(shí),IE就會(huì)自動(dòng)調(diào)用其內(nèi)置的下載功能來下載文件;不過這種功能一旦遇到網(wǎng)絡(luò)堵塞而掉線的情況時(shí),就會(huì)將已經(jīng)下載好的內(nèi)容全部丟失,以后再次下載時(shí)還需要從頭再來,顯然IE內(nèi)置的下載功能容易耽誤下載時(shí)間。 那么我們有沒有辦法讓IE的下載功能也支持?jǐn)帱c(diǎn)續(xù)傳呢?答案是肯定的。只要你使用IE來下載文件出現(xiàn)意外掉線時(shí),或者發(fā)現(xiàn)IE下載進(jìn)度條長(zhǎng)時(shí)間沒有任何反 應(yīng)時(shí),請(qǐng)不要單擊該下載對(duì)話框中的“取消”按鈕,而應(yīng)該直接單擊該窗口中的“x”按鈕,來暫時(shí)退出下載狀態(tài);接著重新單擊網(wǎng)頁中的這個(gè)下載鏈接地址,然后 再單擊“保存”按鈕,在彈出的保存對(duì)話框中,將文件名和保存路徑都設(shè)置為與上次沒下載完時(shí)的文件相同,這樣IE就能接著上次沒下載完的位置,繼續(xù)下載余下 的內(nèi)容;當(dāng)然這種IE斷點(diǎn)續(xù)傳功能只適合HTTP下載方式,而不適合FTP下載方式。 3.將IE選項(xiàng)設(shè)置“架空” 倘若允許其他人隨意對(duì)IE的上網(wǎng)參數(shù)進(jìn)行設(shè)置的話,那么IE的安全、甚至系統(tǒng)的安全都會(huì)受到威脅,例如一旦非法用戶打開IE瀏覽器的“internet選 項(xiàng)”設(shè)置框,將上網(wǎng)安全級(jí)別降低的話,那么網(wǎng)絡(luò)中的各種病毒、木馬,都有可能就會(huì)隨之而來。為了確保安全,你有時(shí)必須“架空”IE瀏覽器中的 internet選項(xiàng),讓非法用戶無法自行設(shè)置IE上網(wǎng)參數(shù): 首先打開Windows系統(tǒng)的資源管理器窗口,找到并進(jìn)入到“system32”文件夾窗口,選中其中的“inetcpl.cpl”文件,并用鼠標(biāo)右鍵單 擊之,從彈出的右鍵菜單中,單擊“重命名”選項(xiàng),將“inetcpl.cpl”的文件名稱更名為“inetcplnew.cpl”,當(dāng)然你也能將其換成其 他名稱,不過你一定要將更名后的文件名稱記得,以后需要恢復(fù)時(shí)以便能快速找到。完成重命名操作后,再單擊IE瀏覽器中的“internet選項(xiàng)”命令時(shí), 就不能進(jìn)入到選項(xiàng)設(shè)置窗口了。 4.不用工具也能修復(fù)IE 在網(wǎng)上盡情沖浪時(shí),IE難免會(huì)遭遇惡意攻擊;那么面對(duì)被惡意修改的IE,你該如何去恢復(fù)它呢?大多數(shù)人都會(huì)去選用各種專業(yè)的IE修復(fù)工具,來對(duì)付IE的惡意攻擊;也有水平高一些的“大蝦”,通過手工修改注冊(cè)表的方法,來恢復(fù)IE的本來“面貌”。可是當(dāng)你手頭沒有專業(yè)的IE修復(fù)工具可以利用時(shí),或者自己對(duì)注冊(cè)表了解不深時(shí),你該如何去修復(fù)IE呢?為此,本文為你提供一則非常便利的解決方法,不過該方法只能適合Windows2000或WindowsXP操作系統(tǒng),下面就是該方法的具體實(shí)現(xiàn)步驟: 依次單擊“開始”/“設(shè)置”/“控制面板”命令,然后依次雙擊“管理工具”/“計(jì)算機(jī)管理”圖標(biāo),在隨后彈出的窗口中,依次展開“系統(tǒng)工具”/“本地用戶 和組”文件夾,再單擊“用戶”選項(xiàng),在對(duì)應(yīng)的右邊子窗口中,右擊空白區(qū)域,執(zhí)行快捷菜單中的“新用戶”命令,將新用戶命名為“newusr”,同時(shí)設(shè)置好 該賬號(hào)的訪問密碼; 完成新用戶的創(chuàng)建任務(wù)后,依次單擊“開始”/“關(guān)機(jī)”命令,然后執(zhí)行“注銷Administrator”操作,再改用“newusr”賬號(hào)重新進(jìn)入到 Windows2000系統(tǒng);接著打開系統(tǒng)注冊(cè)表編輯界面,依次展開注冊(cè)表分支HKEY_CURRENT_USER\Software \Microsoft\internetExplorer,并將“internetExplorer”主鍵選中,再依次單擊注冊(cè)表菜單欄中的“注冊(cè)表”/ “導(dǎo)出注冊(cè)表文件”命令,將有關(guān)IE部分的注冊(cè)表分支內(nèi)容導(dǎo)出,例如保存為“ienew.reg”文件,如此一來你就能將“newusr”賬號(hào)下關(guān)于IE 的正確設(shè)置全部導(dǎo)出來了;由于“newusr”賬號(hào)是剛剛新建的,因此該賬號(hào)下的IE設(shè)置都是系統(tǒng)默認(rèn)的正確設(shè)置,也就是說它是沒有被攻擊過的; 下面注銷“newusr”賬號(hào),再以“Administrator”賬號(hào)登錄系統(tǒng);然后打開注冊(cè)表編輯窗口,依次執(zhí)行菜單欄中的 “注冊(cè)表”/“導(dǎo)入注冊(cè)表文件”命令,在彈出的文件選擇對(duì)話框中,將前面導(dǎo)出的“ienew.reg”文件導(dǎo)入到注冊(cè)表中,就能使IE恢復(fù)本來“面貌” 了。 當(dāng)然,這樣的方法比較麻煩,因此我們推薦IE一鍵修復(fù) 0.3(點(diǎn)擊官方下載)167K ,中文綠色免費(fèi)軟件,可以一鍵修復(fù)被惡意篡改的IE瀏覽器。此外,在魔方(點(diǎn)此下載)中,也將加入IE的修復(fù)功和監(jiān)控惡意軟件等安全功能。 5. 找回Windows 7中的IE 8桌面圖標(biāo) 在Windows 7中,由于超級(jí)任務(wù)欄的存在,微軟取消了IE 8的桌面圖標(biāo)設(shè)置,也就是說,在Windows 7中,無法在桌面顯示IE 8圖標(biāo),當(dāng)然,快捷方式是不能算的。不過近來有會(huì)員在論壇為我們提供了一個(gè)很好的辦法,可以以"曲線"的方式實(shí)現(xiàn)IE 8圖標(biāo)桌面顯示。盡管還不完美,但基本的功能都具備了,大家可以通過Windows7優(yōu)化大師 - 美化大師 - 系統(tǒng)外觀來自行設(shè)置。 善用快捷鍵,玩轉(zhuǎn)Windows 7 便簽程序 便箋是一種可以粘貼在任意位置的正方形或長(zhǎng)條形紙條,方便我們隨時(shí)記錄一些信息,或是安排日常工作,隨寫隨記,非常方便。在 Windows 中為我們提供了和實(shí)物便箋一樣功能的小程序,本人非常喜歡。在 Vista 中,這個(gè)小程序作為邊欄小工具出現(xiàn),但在 Windows 7 中已經(jīng)成為了一個(gè)標(biāo)準(zhǔn)的Windows附件程序。 依次點(diǎn)擊Windows7的開始菜單按鈕 -》所有程序 -》附件 -》,點(diǎn)擊打開便簽,如下圖所示: 不用軟件,非會(huì)員徹底去除QQ2009/2010廣告 昨天談到了《不是VIP用戶也不怕 不需任何補(bǔ)丁屏蔽迅雷廣告》,用戶反饋非常的多,如果沒能設(shè)置成功的,請(qǐng)仔細(xì)閱讀步驟,100%的可以搞定的,當(dāng)然,如果迅雷再發(fā)新版升級(jí)后,就不保證了,有任何新的變化,請(qǐng)隨時(shí)關(guān)注Windows7之家和Vista之家首頁。 說完了迅雷,我們?cè)賮碚f下QQ吧,QQ的免費(fèi)用戶數(shù)量除了Windows外,就屬它大了。 屏蔽廣告除了更干凈潔爽之外,更大的好處是不用隨時(shí)下載體積大的flash動(dòng)畫和gif動(dòng)畫圖片了,QQ登陸速度顯著提升,同時(shí),也少了帶寬消耗。 非QQ會(huì)員徹底屏蔽QQ2009正式版廣告: 在QQ2009 Beta版的時(shí)候,可以通過刪除一些文件讓非會(huì)員也能實(shí)現(xiàn)去廣告的目的,可惜從QQ2009正式版起增加了文件完整性檢查,刪除文件會(huì)導(dǎo)致QQ無法啟動(dòng),并要求重新安裝。 那么對(duì)于非會(huì)員來說,QQ2009正式版(包括之后的SP6、SP5、SP4、SP3、SP2、SP1等)就不能手動(dòng)去廣告了嗎? 其實(shí)還是有辦法的,而且做起來也不難,你說是用第三方工具? 不需要!只要你對(duì)Windows操作系統(tǒng)稍有了解就可以輕松搞定,除了QQ2009,您也可以把這些招數(shù)用在QQ2010的測(cè)試版中,幾乎完全一樣。 下面,就把找到的方法共享給大家吧! 在開始之前,請(qǐng)先退出您正在運(yùn)行中的QQ。 1、去除騰訊迷你首頁: 對(duì)于每次啟動(dòng)QQ后,都彈出的“騰訊迷你首頁”,很多人一定感到不爽,就讓我們先拿它開刀吧。 首先進(jìn)入QQ的安裝文件夾,接著進(jìn)入 Plugin\Com.Tencent.Advertisement\bin 文件夾,這里你會(huì)看到一個(gè)Advertisement.dll文件,它就是迷你首頁的關(guān)鍵所在,只需將這個(gè)文件改成只讀屬性,以后啟動(dòng)QQ就不會(huì)再看到迷你首頁了。在這個(gè)文件上面點(diǎn)擊鼠標(biāo)右鍵,點(diǎn)擊屬性,勾選只讀,確定退出。 2、去除聊天窗口右上角廣告: 這個(gè)操作針對(duì)XP、Win2003系統(tǒng)用戶和Vista、Windows7、Win2008略有不同,主要是文件夾路徑上的。 1)XP、Win2003系統(tǒng)用戶操作方法: 進(jìn)入 X:\Documents and Settings\用戶名\Application Data\Tencent\QQ\Misc\com.tencent.advertisement (注意,X指的系統(tǒng)所在盤盤符,一般是C),首先刪除這個(gè)文件夾里面的所有文件,注意文件夾本身不能刪除,然后把當(dāng)前用戶的寫入權(quán)限給拒絕掉(需要當(dāng)前分區(qū)為NTFS格式)。 方法:文件夾上右鍵,屬性 - 安全標(biāo)簽,選中當(dāng)前登錄用戶,接著在下方“寫入”權(quán)限里,拒絕上打勾。 2)Vista、Windows7、Win2008用戶的操作: 進(jìn)入 X:\users\用戶名\appdata\Roaming\Tencent\QQ\Misc\com.tencent.advertisement,在這個(gè)文件上面點(diǎn)擊鼠標(biāo)右鍵,點(diǎn)擊屬性,然后點(diǎn)擊安全標(biāo)簽, 選中你的當(dāng)前用戶,如下圖示例中的Ruamei.com,然后點(diǎn)擊“編輯”按鈕,OK,寫入那兒設(shè)置下拒絕吧。 這樣,無論是會(huì)員還是非會(huì)員,你都不會(huì)有任何的廣告圖片下載了。 3、去除QQ2009/QQ2010聊天窗口的左下角廣告 如今的聊天窗口,除了右上角的圖片廣告外,左下角還多了一條文字廣告,既然要去廣告,那么這塊自然也不能遺忘。同樣操作針對(duì)XP、Win2003系統(tǒng)用戶和Vista、Windows7、Win2008而有所不同。 1)XP、Win2003系統(tǒng)用戶操作方法: 再次提醒您修改前首先要關(guān)閉QQ,然后進(jìn)入X:\Documents and Settings\用戶名\Application Data\Tencent\Users\你的QQ號(hào)\QQ\(注意,X指的系統(tǒng)所在盤盤符,一般是C),刪除其中的Misc.db,接著新建一個(gè)文件夾并命名為Misc.db(是不是和防止U盤自動(dòng)運(yùn)行病毒的方法很像)。 2)Vista、Windows7、Win2008用戶的操作: 關(guān)閉QQ后,進(jìn)入X:\users\用戶名\appdata\Roaming\Tencent\Users\你的QQ號(hào)碼\QQ\,然后操作同上。 搞定,如此一來,這幾個(gè)地方都沒廣告了吧! 好吧,打開一個(gè)標(biāo)簽窗口如下圖所示,當(dāng)然,你可以多點(diǎn)多開。 如果你正在使用這個(gè)程序,是否覺得它的功能太簡(jiǎn)單了,點(diǎn)點(diǎn)右鍵,彈出的菜單中只能切換便箋的顏色,沒有其他基本的格式編輯功能。 其實(shí),除了標(biāo)準(zhǔn)的 Ctrl 加 XCVA 的剪切/復(fù)制/粘貼/全選快捷鍵之外,其實(shí)便箋程序還有一些快捷鍵可以使用: 快捷鍵 功能 Ctrl+N 新建一張便箋 Ctrl+D 刪除當(dāng)前便箋 Ctrl+E 居中對(duì)齊 Ctrl+R 右對(duì)齊 Ctrl+J 左對(duì)齊 Ctrl+I 斜體 Ctrl+B 粗體 Ctrl+U 下劃線 Ctrl+T 刪除線 Ctrl+Shift+> 加大選中文字的字號(hào) Ctrl+Shift+< 縮小選中文字的字號(hào) Ctrl+Shift+L 在文字前添加項(xiàng)目符號(hào)和編號(hào)(反復(fù)按可循環(huán)切換)。其中編號(hào)包括數(shù)字、大小寫字母、大小寫羅馬數(shù)字幾種形式。連按兩次回車可取消。 知道了這些快捷鍵,我們就可以做出一些滿足日常需要的格式了: 像 Windows 這種應(yīng)用廣泛的軟件或硬件,由于全球數(shù)十億人都會(huì)使用到,因此一個(gè)小小的功能特性都可以對(duì)世界造成很大的影響。 想想看,如果所有人都利用好這個(gè)小程序而不去買便箋,往小了說是省錢,往大了說可是環(huán)保了,能節(jié)約很多制作便箋的自然資源消耗。
上傳時(shí)間: 2019-06-22
上傳用戶:yerbol
The concept of smart cities emerged few years ago as a new vision for urban development that aims to integrate multiple information and communication technology (ICT) solutions in a secure fashion to manage a city’s assets. Modern ICT infrastructure and e-services should fuel sustainable growth and quality of life, enabled by a wise and participative management of natural resources to be ensured by citizens and government. The need to build smart cities became a requirement that relies on urban development that should take charge of the new infrastructures for smart cities (broadband infrastructures, wireless sensor networks, internet-based networked applications, open data and open platforms) and provide various smart services and enablers in various domains including healthcare, energy, education, environmental management, transportation, mobility and public safety.
標(biāo)簽: Enablers Cities Smart for
上傳時(shí)間: 2020-05-25
上傳用戶:shancjb
In recent years, cellular voice networks have transformed into powerful packet-switched access networks for both voice communication and internet access. Evolving Universal Mobile Telecommunication System (UMTS) networks and first Long Term Evolution (LTE) installations now deliver bandwidths of several megabits per second to individual users, and mobile access to the internet from handheld devices and notebooks is no longer perceived as slower than a Digital Subscriber Line (DSL) or cable connection. Bandwidth and capacity demands, however, keep rising because of the increasing number of people using the networks and because of bandwidth-intensive applications such as video streaming. Thus, network manufacturers and network operators need to find ways to continuously increase the capacity and performance of their cellular networks while reducing the cost.
標(biāo)簽: BRINGING NETWORKS Beyond and 3G 4G
上傳時(shí)間: 2020-05-26
上傳用戶:shancjb
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1