锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品人妻一区二区三区,久久久久波多野结衣高潮,四虎国产精品免费久久久http://m.shnenglu.com/Lee7/category/7089.html 褰撳崕緹庣殑鍙剁墖钀藉敖錛岀敓鍛界殑鑴夌粶鎵嶅巻鍘嗗彲瑙併?錛嶏紞 鑱傞瞾杈? zh-cnSun, 10 May 2009 13:27:31 GMTSun, 10 May 2009 13:27:31 GMT60IOCP綆鍗曞疄鐜頒唬鐮乕杞琞http://m.shnenglu.com/Lee7/archive/2009/05/10/82488.htmlisabcisabcSun, 10 May 2009 08:37:00 GMThttp://m.shnenglu.com/Lee7/archive/2009/05/10/82488.htmlhttp://m.shnenglu.com/Lee7/comments/82488.htmlhttp://m.shnenglu.com/Lee7/archive/2009/05/10/82488.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/82488.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/82488.html/******************************************************************
*
* Copyright (c) 2008, xxxxx鏈夐檺鍏徃
* All rights reserved.
*
* 鏂囦歡鍚嶇О錛欼OCPHeader.h
* 鎽?nbsp;  瑕侊細 IOCP瀹氫箟鏂囦歡
*
* 褰撳墠鐗堟湰錛?.0
* 浣?nbsp;   鑰咃細鍚翠細鐒?br>* 瀹屾垚鏃ユ湡錛?008-9-16
*
* 鍙栦唬鐗堟湰錛?br>* 鍘?nbsp; 浣滆咃細
* 瀹屾垚鏃ユ湡錛?br>*
*****************************************************************
*/

ifndef _IOCPHEADER_H_20080916_
define _IOCPHEADER_H_20080916_

include 
<WINSOCK2.H>
include 
<windows.h>

define BUFFER_SIZE 
1024

/******************************************************************
* per_handle 鏁版嵁
******************************************************************
*/
typedef 
struct _PER_HANDLE_DATA 
{
    SOCKET      s;      
// 瀵瑰簲鐨勫鎺ュ瓧鍙ユ焺
    sockaddr_in addr;   // 瀵規柟鐨勫湴鍧
    
}PER_HANDLE_DATA, 
*PPER_HANDLE_DATA;

/******************************************************************
* per_io 鏁版嵁
******************************************************************
*/
typedef 
struct _PER_IO_DATA
{
    OVERLAPPED  ol;                 
// 閲嶅彔緇撴瀯
    char        buf[BUFFER_SIZE];   // 鏁版嵁緙撳啿鍖?/span>
    int         nOperationType;     // 鎿嶄綔綾誨瀷
    
    define OP_READ   
1
        define OP_WRITE  
2
        define OP_ACCEPT 
3
        
}PER_IO_DATA, 
*PPER_IO_DATA;

endif

/******************************************************************
*
* Copyright (c) 2008, xxxxx鏈夐檺鍏徃
* All rights reserved.
*
* 鏂囦歡鍚嶇О錛歮ain.cpp
* 鎽?nbsp;  瑕侊細 iocp demo 
*
* 褰撳墠鐗堟湰錛?.0
* 浣?nbsp;   鑰咃細鍚翠細鐒?br>* 瀹屾垚鏃ユ湡錛?008-9-16
*
* 鍙栦唬鐗堟湰錛?br>* 鍘?nbsp; 浣滆咃細
* 瀹屾垚鏃ユ湡錛?br>*
*****************************************************************
*/

include 
<iostream>
include 
<string>
include 
"IOCPHeader.h"
using namespace std;

DWORD WINAPI ServerThread( LPVOID lpParam );

int main( int argc, char *argv[] )
{
    
//////////////////////////////////////////////////////////////////////////  
    WSADATA wsaData;
    
    
if0 != WSAStartup( MAKEWORD( 22 ), &wsaData ) )
    {
        printf( 
"Using %s (Status:%s)\n", wsaData.szDescription, wsaData.szSystemStatus );
        printf( 
"with API versions: %d.%d to %d.%d"
            LOBYTE( wsaData.wVersion), HIBYTE( wsaData.wVersion ),
            LOBYTE( wsaData.wHighVersion), HIBYTE( wsaData.wHighVersion) );
        
        
return -1;
    }
    
else
    {
        printf(
"Windows sockets 2.2 startup\n");
    }
    
//////////////////////////////////////////////////////////////////////////
    
    
int nPort = 20055;
    
    
// 鍒涘緩瀹屾垚绔彛瀵硅薄
    
// 鍒涘緩宸ヤ綔綰跨▼澶勭悊瀹屾垚绔彛瀵硅薄鐨勪簨浠?/span>
    HANDLE hIocp = ::CreateIoCompletionPort( INVALID_HANDLE_VALUE, 000 );
    ::CreateThread( NULL, 
0, ServerThread, (LPVOID)hIocp, 00 );
    
    
// 鍒涘緩鐩戝惉濂楁帴瀛楋紝緇戝畾鏈湴绔彛錛屽紑濮嬬洃鍚?/span>
    SOCKET sListen = ::socket( AF_INET,
        SOCK_STREAM, 
0 );
    SOCKADDR_IN addr;
    addr.sin_family 
= AF_INET;
    addr.sin_port 
= ::htons( nPort );
    addr.sin_addr.S_un.S_addr 
= INADDR_ANY;
    ::bind( sListen, (sockaddr 
*)&addr, sizeof( addr ) );
    ::listen( sListen, 
5 );
    
    printf( 
"iocp demo start\n" );
    
    
// 寰幆澶勭悊鍒版潵鐨勮姹?/span>
    while ( TRUE )
    {
        
// 絳夊緟鎺ュ彈鏈喅鐨勮繛鎺ヨ姹?/span>
        SOCKADDR_IN saRemote;
        
int nRemoteLen = sizeof( saRemote );
        SOCKET sRemote 
= ::accept( sListen, (sockaddr *)&saRemote, &nRemoteLen );
        
        
// 鎺ュ彈鍒版柊榪炴帴涔嬪悗錛屼負瀹冨垱寤轟竴涓猵er_handle鏁版嵁錛屽茍灝嗕粬浠叧鑱斿埌瀹屾垚绔彛瀵硅薄
        PPER_HANDLE_DATA pPerHandle = ( PPER_HANDLE_DATA )::GlobalAlloc( GPTR, sizeof( PPER_HANDLE_DATA ) );
        
if( pPerHandle == NULL )
        {
            
break;
        }
        
        pPerHandle
->= sRemote;
        memcpy( 
&pPerHandle->addr, &saRemote, nRemoteLen );
        
        ::CreateIoCompletionPort( ( HANDLE)pPerHandle
->s, hIocp, (DWORD)pPerHandle, 0 );
        
        
// 鎶曢掍竴涓帴鍙楄姹?/span>
        PPER_IO_DATA pIoData = ( PPER_IO_DATA )::GlobalAlloc( GPTR, sizeof( PPER_IO_DATA ) );
        
if( pIoData == NULL )
        {
            
break;
        }
        
        pIoData
->nOperationType = OP_READ;
        WSABUF buf;
        buf.buf 
= pIoData->buf;
        buf.len 
= BUFFER_SIZE;
        
        DWORD dwRecv 
= 0;
        DWORD dwFlags 
= 0;
        
        ::WSARecv( pPerHandle
->s, &buf, 1&dwRecv, &dwFlags, &pIoData->ol, NULL );
        
    }
    
    
//////////////////////////////////////////////////////////////////////////
ERROR_PROC:
    WSACleanup();
    
//////////////////////////////////////////////////////////////////////////
    
    
return 0;
}

/******************************************************************
* 鍑芥暟浠嬬粛錛氬鐞嗗畬鎴愮鍙e璞′簨浠剁殑綰跨▼
* 杈撳叆鍙傛暟錛?br>* 杈撳嚭鍙傛暟錛?br>* 榪斿洖鍊?nbsp; 錛?br>******************************************************************
*/
DWORD WINAPI ServerThread( LPVOID lpParam )
{
    HANDLE hIocp 
= ( HANDLE )lpParam;
    
if( hIocp == NULL )
    {
        
return -1;
    }
    
    DWORD dwTrans 
= 0;
    PPER_HANDLE_DATA pPerHandle;
    PPER_IO_DATA     pPerIo;
    
    
while( TRUE )
    {
        
// 鍦ㄥ叧鑱斿埌姝ゅ畬鎴愮鍙g殑鎵鏈夊鎺ュ瓧涓婄瓑寰匢/O瀹屾垚
        BOOL bRet = ::GetQueuedCompletionStatus( hIocp, &dwTrans, (LPDWORD)&pPerHandle, (LPOVERLAPPED*)&pPerIo, WSA_INFINITE );
        
if!bRet )     // 鍙戠敓閿欒
        {
            ::closesocket( pPerHandle
->s );
            ::GlobalFree( pPerHandle );
            ::GlobalFree( pPerIo );
            
            cout 
<< "error" << endl;
            
continue;
        }
        
        
// 濂楁帴瀛楄瀵規柟鍏抽棴
        if( dwTrans == 0 && ( pPerIo->nOperationType == OP_READ || pPerIo->nOperationType&nb  sp;== OP_WRITE ) )
        {
            ::closesocket( pPerHandle
->s );
            ::GlobalFree( pPerHandle );
            ::GlobalFree( pPerIo );
            
            cout 
<< "client closed" << endl;
            
continue;
        }
        
        
switch ( pPerIo->nOperationType )
        {
        
case OP_READ:       // 瀹屾垚涓涓帴鏀惰姹?/span>
            {
                pPerIo
->buf[dwTrans] = '\0';
                printf( 
"%s\n", pPerIo->buf );
                
                
// 緇х畫鎶曢掓帴鍙楁搷浣?/span>
                WSABUF buf;
                buf.buf 
= pPerIo->buf;
                buf.len 
= BUFFER_SIZE;
                pPerIo
->nOperationType = OP_READ;
                
                DWORD dwRecv 
= 0;
                DWORD dwFlags 
= 0;
                
                ::WSARecv( pPerHandle
->s, &buf, 1&dwRecv, &dwFlags, &pPerIo->ol, NULL );
                
            }
            
break;
        
case OP_WRITE:
        
case OP_ACCEPT:
            
break;
            
        }
        
    }
    
    
return 0;
}



isabc 2009-05-10 16:37 鍙戣〃璇勮
]]>
鐢ㄥ崗璁垎鏋愬伐鍏峰涔燭CP/IPhttp://m.shnenglu.com/Lee7/archive/2008/10/13/63887.htmlisabcisabcMon, 13 Oct 2008 06:26:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/10/13/63887.htmlhttp://m.shnenglu.com/Lee7/comments/63887.htmlhttp://m.shnenglu.com/Lee7/archive/2008/10/13/63887.html#Feedback1http://m.shnenglu.com/Lee7/comments/commentRss/63887.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/63887.html闃呰鍏ㄦ枃

isabc 2008-10-13 14:26 鍙戣〃璇勮
]]>
ADO涔婥ommand瀵硅薄鍏ㄨВ[杞琞http://m.shnenglu.com/Lee7/archive/2008/06/10/52809.htmlisabcisabcTue, 10 Jun 2008 14:54:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/06/10/52809.htmlhttp://m.shnenglu.com/Lee7/comments/52809.htmlhttp://m.shnenglu.com/Lee7/archive/2008/06/10/52809.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/52809.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/52809.html闃呰鍏ㄦ枃

isabc 2008-06-10 22:54 鍙戣〃璇勮
]]>
ARP鍗忚璇﹁В鍙婂浣曠紪紼嬪疄鐜癆RP鏀誨嚮[杞琞http://m.shnenglu.com/Lee7/archive/2008/05/23/50835.htmlisabcisabcFri, 23 May 2008 02:35:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/23/50835.htmlhttp://m.shnenglu.com/Lee7/comments/50835.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/23/50835.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/50835.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/50835.html闃呰鍏ㄦ枃

isabc 2008-05-23 10:35 鍙戣〃璇勮
]]>
TCP/IP 鍗忚鐨勭粨鏋勪笌榪愯鍘熺悊[鍥綸http://m.shnenglu.com/Lee7/archive/2008/05/19/50449.htmlisabcisabcMon, 19 May 2008 15:18:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/19/50449.htmlhttp://m.shnenglu.com/Lee7/comments/50449.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/19/50449.html#Feedback3http://m.shnenglu.com/Lee7/comments/commentRss/50449.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/50449.html  闃呰鍏ㄦ枃

isabc 2008-05-19 23:18 鍙戣〃璇勮
]]>
TCP澶寸粨鏋?http://m.shnenglu.com/Lee7/archive/2008/05/19/50448.htmlisabcisabcMon, 19 May 2008 15:09:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/19/50448.htmlhttp://m.shnenglu.com/Lee7/comments/50448.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/19/50448.html#Feedback1http://m.shnenglu.com/Lee7/comments/commentRss/50448.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/50448.html
TCP澶寸粨鏋?
   TCP鍗忚澶存渶灝?0涓瓧鑺傦紝鍖呮嫭浠ヤ笅鐨勫尯鍩燂紙鐢變簬緲昏瘧涓嶇鐩稿悓錛屾枃绔犱腑緇欏嚭鐩稿簲鐨勮嫳鏂囧崟璇嶏級錛?
   TCP婧愮鍙?Source Port)錛?6浣嶇殑婧愮鍙e叾涓寘鍚垵濮嬪寲閫氫俊鐨勭鍙c傛簮绔彛鍜屾簮IP鍦板潃鐨勪綔鐢ㄦ槸鏍囩ず鎶ラ棶鐨勮繑鍥炲湴鍧銆?
   TCP鐩殑绔彛(Destination port)錛?6浣嶇殑鐩殑绔彛鍩熷畾涔変紶杈撶殑鐩殑銆傝繖涓鍙f寚鏄庢姤鏂囨帴鏀惰綆楁満涓婄殑搴旂敤紼嬪簭鍦板潃鎺ュ彛銆?
   TCP搴忓垪鍙鳳紙搴忓垪鐮?Sequence銆Number錛夛細32浣嶇殑搴忓垪鍙風敱鎺ユ敹绔綆楁満浣跨敤錛岄噸鏂板垎孌電殑鎶ユ枃鎴愭渶鍒濆艦寮忋傚綋SYN鍑虹幇錛屽簭鍒楃爜瀹為檯涓婃槸鍒濆搴忓垪鐮侊紙ISN錛夛紝鑰岀涓涓暟鎹瓧鑺傛槸ISN+1銆傝繖涓簭鍒楀彿錛堝簭鍒楃爜錛夋槸鍙互琛ュ伩浼犺緭涓殑涓嶄竴鑷淬?
   TCP搴旂瓟鍙?Acknowledgment   Number)錛?2浣嶇殑搴忓垪鍙風敱鎺ユ敹绔綆楁満浣跨敤錛岄噸緇勫垎孌電殑鎶ユ枃鎴愭渶鍒濆艦寮忋傦紝濡傛灉璁劇疆浜咥CK鎺у埗浣嶏紝榪欎釜鍊艱〃紺轟竴涓噯澶囨帴鏀剁殑鍖呯殑搴忓垪鐮併?
   鏁版嵁鍋忕Щ閲?HLEN)錛?浣嶅寘鎷琓CP澶村ぇ灝忥紝鎸囩ず浣曞鏁版嵁寮濮嬨?
   淇濈暀(Reserved)錛?浣嶅煎煙錛岃繖浜涗綅蹇呴』鏄?銆備負浜嗗皢鏉ュ畾涔夋柊鐨勭敤閫旀墍淇濈暀銆?
   鏍囧織(Code Bits)錛?浣嶆爣蹇楀煙銆傝〃紺轟負錛氱揣鎬ユ爣蹇椼佹湁鎰忎箟鐨勫簲絳旀爣蹇椼佹帹銆侀噸緗繛鎺ユ爣蹇椼佸悓姝ュ簭鍒楀彿鏍囧織銆佸畬鎴愬彂閫佹暟鎹爣蹇椼傛寜鐓ч『搴忔帓鍒楁槸錛歎RG銆丄CK銆丳SH銆丷ST銆丼YN銆丗IN銆?
   紿楀彛(Window)錛?6浣嶏紝鐢ㄦ潵琛ㄧず鎯蟲敹鍒扮殑姣忎釜TCP鏁版嵁孌電殑澶у皬銆?
   鏍¢獙浣?Checksum)錛?6浣峊CP澶淬傛簮鏈哄櫒鍩轟簬鏁版嵁鍐呭璁$畻涓涓暟鍊鹼紝鏀朵俊鎭満瑕佷笌婧愭満鍣ㄦ暟鍊?緇撴灉瀹屽叏涓鏍鳳紝浠庤岃瘉鏄庢暟鎹殑鏈夋晥鎬с?
   浼樺厛鎸囬拡錛堢揣鎬?Urgent  Pointer錛夛細16浣嶏紝鎸囧悜鍚庨潰鏄紭鍏堟暟鎹殑瀛楄妭錛屽湪URG鏍囧織璁劇疆浜嗘椂鎵嶆湁鏁堛傚鏋淯RG鏍囧織娌℃湁琚緗紝绱фュ煙浣滀負濉厖銆傚姞蹇鐞嗘爣紺轟負绱фョ殑鏁版嵁孌點?
   閫夐」(Option)錛氶暱搴︿笉瀹氾紝浣嗛暱搴﹀繀欏諱互瀛楄妭銆傚鏋?娌℃湁 閫夐」灝辮〃紺鴻繖涓竴瀛楄妭鐨勫煙絳変簬0銆?
   濉厖錛氫笉瀹氶暱錛屽~鍏呯殑鍐呭蹇呴』涓?錛屽畠鏄負浜嗘暟瀛︾洰鐨勮屽瓨鍦ㄣ傜洰鐨勬槸紜繚絀洪棿鐨勫彲棰勬祴鎬с備繚璇佸寘澶寸殑緇撳悎鍜屾暟鎹殑寮濮嬪鍋忕Щ閲忚兘澶熻32鏁撮櫎錛屼竴鑸澶栫殑闆朵互淇濊瘉TCP澶存槸32浣嶇殑鏁存暟鍊嶃?br>錛滈檮鍥炬槸鐢⊿NIFFER鎶撶殑涓涓寘澶寸粨鏋勶紴

        00 50 07 45 9b d6 43        3c 47 fd 37 50 50 18
        ff 1f 05 a5 00 00 48         54 54 50 2f 31 2e 31
        20 32 30 30 20 4f 4b         0d 0a 53 65 72 76 65
        72 3a 20 4d 69 63 72         6f 73 6f 66 74 2d 49
        49 53 2f 35 2e 30 0d         0a 44 61 74 65 3a 20
        57 65 64 2c 20 31 32         20 4e 6f 76 20 32 30
        30 33 20 30 33 3a 33         37 3a 35 35 20 47 4d
        54 0d 0a 43 6f 6e 6e         65 63 74 69 6f 6e 3a
        20 63 6c 6f 73 65 0d         0a 48 54 54 50 2f 31
        2e 31 20 32 30 30 20         4f 4b 0d 0a 53 65 72
        76 65 72 3a 20 4d 69         63 72 6f 73 6f 66 74
        2d 49 49 53 2f 35 2e         30 0d 0a 50 72 61 67
        6d 61 3a 20 6e 6f 2d         63 61 63 68 65 0d 0a
        43 6f 6e 74 65 6e 74         2d 74 79 70 65 3a 20
        74 65 78 74 2f 70 6c         61 69 6e 3b 63 68 61
        72 73 65 74 3d 67 62         32 33 31 32 0d 0a 0d
        0a

瑙f瀽錛?br>婧愮鍙o細00銆50銆銆銆銆鐩殑绔彛錛?7銆45銆銆搴忓垪鍙鳳細9b d6 43銆3c
搴旂瓟鍙鳳細47 fd 37 50銆  鏁版嵁鍋忕Щ閲忥細50銆銆銆淇濈暀錛?br>鏍囧織浣嶏細18銆銆銆銆銆銆銆紿楀彛錛歠f銆1f             鏍¢獙浣嶏細05 a5
浼樺厛鎸囬拡錛?0銆00銆銆銆銆閫夐」錛氥銆銆銆銆銆銆濉厖錛氾紙浣欎笅鐨?05瀛楄妭涓篢CP鏁版嵁錛?br>
      鏍囧織鎺у埗鍔熻兘 URG錛氱揣鎬ユ爣蹇?
      绱ф?The urgent pointer) 鏍囧織鏈夋晥銆傜揣鎬ユ爣蹇楃疆浣嶏紝
    ACK錛氱‘璁ゆ爣蹇?紜緙栧彿(Acknowledgement  Number)鏍忔湁鏁堛傚ぇ澶氭暟鎯呭喌涓嬭鏍囧織浣嶆槸緗綅鐨勩俆CP鎶ュご鍐呯殑紜緙栧彿鏍忓唴鍖呭惈鐨勭‘璁ょ紪鍙?w+1錛孎igure錛?)涓轟笅涓涓鏈熺殑搴忓垪緙栧彿錛屽悓鏃舵彁紺鴻繙绔郴緇熷凡緇忔垚鍔熸帴鏀舵墍鏈夋暟鎹?
銆銆PSH錛氭帹鏍囧織
      璇ユ爣蹇楃疆浣嶆椂錛屾帴鏀剁涓嶅皢璇ユ暟鎹繘琛岄槦鍒楀鐞嗭紝鑰屾槸灝藉彲鑳藉揩灝嗘暟鎹漿鐢卞簲鐢ㄥ鐞嗐傚湪澶勭悊 telnet 鎴?rlogin 絳変氦浜掓ā寮忕殑榪炴帴鏃訛紝璇ユ爣蹇楁繪槸緗綅鐨勩?
    RST錛氬浣嶆爣蹇?澶嶄綅鏍囧織鏈夋晥銆傜敤浜庡浣嶇浉搴旂殑TCP榪炴帴銆?
    SYN錛氬悓姝ユ爣蹇?鍚屾搴忓垪緙栧彿(Synchronize Sequence Numbers)鏍忔湁鏁堛傝鏍囧織浠呭湪涓夋鎻℃墜寤虹珛TCP榪炴帴鏃舵湁鏁堛傚畠鎻愮ずTCP榪炴帴鐨勬湇鍔$媯鏌ュ簭鍒楃紪鍙鳳紝璇ュ簭鍒楃紪鍙蜂負TCP榪炴帴鍒濆绔?涓鑸槸瀹㈡埛绔?鐨勫垵濮嬪簭鍒楃紪鍙楓傚湪榪欓噷錛屽彲浠ユ妸TCP搴忓垪緙栧彿鐪嬩綔鏄竴涓寖鍥翠粠0鍒?錛?94錛?67錛?95鐨?2浣嶈鏁板櫒銆傞氳繃TCP榪炴帴浜ゆ崲鐨勬暟鎹腑姣忎竴涓瓧鑺傞兘緇忚繃搴忓垪緙栧彿銆傚湪TCP鎶ュご涓殑搴忓垪緙栧彿鏍忓寘鎷簡TCP鍒嗘涓涓涓瓧鑺傜殑搴忓垪緙栧彿銆?
銆銆FIN錛氱粨鏉熸爣蹇?
  銆銆甯︽湁璇ユ爣蹇楃疆浣嶇殑鏁版嵁鍖呯敤鏉ョ粨鏉熶竴涓猅CP鍥炶瘽錛屼絾瀵瑰簲绔彛浠嶅浜庡紑鏀劇姸鎬侊紝鍑嗗鎺ユ敹鍚庣畫鏁版嵁銆傛湇鍔$澶勪簬鐩戝惉鐘舵侊紝瀹㈡埛绔敤浜庡緩绔嬭繛鎺ヨ姹傜殑鏁版嵁鍖?IP packet)鎸夌収TCP/IP鍗忚鍫嗘爤緇勫悎鎴愪負TCP澶勭悊鐨勫垎孌?segment)銆?
    鍒嗘瀽鎶ュご淇℃伅錛?TCP灞傛帴鏀跺埌鐩稿簲鐨凾CP鍜孖P鎶ュご錛屽皢榪欎簺淇℃伅瀛樺偍鍒板唴瀛樹腑銆?
    媯鏌CP鏍¢獙鍜?checksum)錛氭爣鍑嗙殑鏍¢獙鍜屼綅浜庡垎孌典箣涓?Figure錛?)銆傚鏋滄楠屽け璐ワ紝涓嶈繑鍥炵‘璁わ紝璇ュ垎孌典涪寮冿紝騫剁瓑寰呭鎴風榪涜閲嶄紶銆?
銆銆鏌ユ壘鍗忚鎺у埗鍧?PCB{})錛歍CP鏌ユ壘涓庤榪炴帴鐩稿叧鑱旂殑鍗忚鎺у埗鍧椼傚鏋滄病鏈夋壘鍒幫紝TCP灝嗚鍒嗘涓㈠純騫惰繑鍥濺ST銆?榪欏氨鏄疶CP澶勭悊娌℃湁绔彛鐩戝惉鎯呭喌涓嬬殑鏈哄埗)
       濡傛灉璇ュ崗璁帶鍒跺潡瀛樺湪錛屼絾鐘舵佷負鍏抽棴錛屾湇鍔$涓嶈皟鐢╟onnect()鎴杔isten()銆傝鍒嗘涓㈠純錛屼絾涓嶈繑鍥濺ST銆傚鎴風浼氬皾璇曢噸鏂板緩绔嬭繛鎺ヨ姹傘?
銆銆寤虹珛鏂扮殑socket錛氬綋澶勪簬鐩戝惉鐘舵佺殑socket鏀跺埌璇ュ垎孌墊椂錛屼細寤虹珛涓涓瓙socket錛屽悓鏃惰繕鏈塻ocket{}錛宼cpcb{}鍜宲ub{}寤虹珛銆傝繖鏃跺鏋滄湁閿欒鍙戠敓錛屼細閫氳繃鏍囧織浣嶆潵鎷嗛櫎鐩稿簲鐨剆ocket鍜岄噴鏀懼唴瀛橈紝TCP榪炴帴澶辮觸銆傚鏋滅紦瀛橀槦鍒楀浜庡~婊$姸鎬侊紝TCP璁や負鏈夐敊璇彂鐢燂紝鎵鏈夌殑鍚庣畫榪炴帴璇鋒眰浼氳鎷掔粷銆傝繖閲屽彲浠ョ湅鍑篠YN Flood鏀誨嚮鏄浣曡搗浣滅敤鐨勩?
     涓㈠純錛氬鏋滆鍒嗘涓殑鏍囧織涓篟ST鎴朅CK錛屾垨鑰呮病鏈塖YN鏍囧織錛屽垯璇ュ垎孌典涪寮冦傚茍閲婃斁鐩稿簲鐨勫唴瀛樸?
     鍙戦佸簭鍒楀彉閲?
       SND.UNA 錛?鍙戦佹湭紜
       SND.NXT 錛?鍙戦佷笅涓涓?
       SND.WND 錛?鍙戦佺獥鍙?
       SND.UP 錛?鍙戦佷紭鍏堟寚閽?
       SND.WL1 錛?鐢ㄤ簬鏈鍚庣獥鍙f洿鏂扮殑孌靛簭鍒楀彿
       SND.WL2 錛?鐢ㄤ簬鏈鍚庣獥鍙f洿鏂扮殑孌電‘璁ゅ彿
       ISS 錛?鍒濆鍙戦佸簭鍒楀彿
銆   鎺ユ敹搴忓垪鍙?
       RCV.NXT 錛?鎺ユ敹涓嬩竴涓?
       RCV.WND 錛?鎺ユ敹涓嬩竴涓?
       RCV.UP 錛?鎺ユ敹浼樺厛鎸囬拡
       IRS 錛?鍒濆鎺ユ敹搴忓垪鍙?
     褰撳墠孌靛彉閲?
        SEG.SEQ 錛?孌靛簭鍒楀彿
        SEG.ACK 錛?孌電‘璁ゆ爣璁?
        SEG.LEN 錛?孌甸暱
        SEG.WND 錛?孌電獥鍙?
        SEG.UP 錛?孌電揣鎬ユ寚閽?
        SEG.PRC 錛?孌典紭鍏堢駭
     CLOSED琛ㄧず娌℃湁榪炴帴錛屽悇涓姸鎬佺殑鎰忎箟濡備笅錛?
        LISTEN 錛?鐩戝惉鏉ヨ嚜榪滄柟TCP绔彛鐨勮繛鎺ヨ姹傘?
        SYN-SENT 錛?鍦ㄥ彂閫佽繛鎺ヨ姹傚悗絳夊緟鍖歸厤鐨勮繛鎺ヨ姹傘?
        SYN-RECEIVED 錛?鍦ㄦ敹鍒板拰鍙戦佷竴涓繛鎺ヨ姹傚悗絳夊緟瀵硅繛鎺ヨ姹傜殑紜銆?
        ESTABLISHED 錛?浠h〃涓涓墦寮鐨勮繛鎺ワ紝鏁版嵁鍙互浼犻佺粰鐢ㄦ埛銆?
        FIN-WAIT-1 錛?絳夊緟榪滅▼TCP鐨勮繛鎺ヤ腑鏂姹傦紝鎴栧厛鍓嶇殑榪炴帴涓柇璇鋒眰鐨勭‘璁ゃ?
        FIN-WAIT-2 錛?浠庤繙紼婽CP絳夊緟榪炴帴涓柇璇鋒眰銆?
        CLOSE-WAIT 錛?絳夊緟浠庢湰鍦扮敤鎴峰彂鏉ョ殑榪炴帴涓柇璇鋒眰銆?
        CLOSING 錛?絳夊緟榪滅▼TCP瀵硅繛鎺ヤ腑鏂殑紜銆?
        LAST-ACK 錛?絳夊緟鍘熸潵鍙戝悜榪滅▼TCP鐨勮繛鎺ヤ腑鏂姹傜殑紜銆?
        TIME-WAIT 錛?絳夊緟瓚沖鐨勬椂闂翠互紜繚榪滅▼TCP鎺ユ敹鍒拌繛鎺ヤ腑鏂姹傜殑紜銆?
        CLOSED 錛?娌℃湁浠諱綍榪炴帴鐘舵併?
        TCP榪炴帴榪囩▼鏄姸鎬佺殑杞崲錛屼績浣垮彂鐢熺姸鎬佽漿鎹㈢殑鏄敤鎴瘋皟鐢細OPEN錛孲END錛孯ECEIVE錛孋LOSE錛孉BORT鍜孲TATUS銆備紶閫佽繃鏉ョ殑鏁版嵁孌碉紝鐗瑰埆閭d簺鍖呮嫭浠ヤ笅鏍囪鐨勬暟鎹SYN錛孉CK錛孯ST鍜孎IN銆傝繕鏈夎秴鏃訛紝涓婇潰鎵璇寸殑閮戒細鏃禩CP鐘舵佸彂鐢熷彉鍖栥?
銆  搴忓垪鍙鳳細璇鋒敞鎰忥紝鎴戜滑鍦═CP榪炴帴涓彂閫佺殑瀛楄妭閮芥湁涓涓簭鍒楀彿銆傚洜涓虹紪浜嗗彿錛屾墍浠ュ彲浠ョ‘璁ゅ畠浠殑鏀跺埌銆傚搴忓垪鍙風殑紜鏄瘡縐х殑銆俆CP蹇呴』榪涜鐨勫簭鍒楀彿姣旇緝鎿嶄綔縐嶇被鍖呮嫭浠ヤ笅鍑犵錛?
銆     鈶犲喅瀹氫竴浜涘彂閫佷簡鐨勪絾鏈‘璁ょ殑搴忓垪鍙楓?
  銆   鈶″喅瀹氭墍鏈夌殑搴忓垪鍙烽兘宸茬粡鏀跺埌浜嗐?
       鈶㈠喅瀹氫笅涓涓涓簲璇ュ寘鎷殑搴忓垪鍙楓?
     瀵逛簬鍙戦佺殑鏁版嵁TCP瑕佹帴鏀剁‘璁わ紝紜鏃跺繀欏昏繘琛岀殑錛?
        SND.UNA = 鏈鑰佺殑紜浜嗙殑搴忓垪鍙楓?
        SND.NXT = 涓嬩竴涓鍙戦佺殑搴忓垪鍙楓?
        SEG.ACK = 鎺ユ敹TCP鐨勭‘璁わ紝鎺ユ敹TCP鏈熷緟鐨勪笅涓涓簭鍒楀彿銆?
        SEG.SEQ = 涓涓暟鎹鐨勭涓涓簭鍒楀彿銆?
        SEG.LEN = 鏁版嵁孌典腑鍖呮嫭鐨勫瓧鑺傛暟銆?
        SEG.SEQ+SEG.LEN-1 = 鏁版嵁孌電殑鏈鍚庝竴涓簭鍒楀彿銆?
     濡傛灉涓涓暟鎹鐨勫簭鍒楀彿灝忎簬絳変簬紜鍙風殑鍊鹼紝閭d箞鏁翠釜鏁版嵁孌靛氨琚‘璁や簡銆傝屽湪鎺ユ敹鏁版嵁鏃朵笅闈㈢殑姣旇緝鎿嶄綔鏄繀欏葷殑錛?
        RCV.NXT = 鏈熷緟鐨勫簭鍒楀彿鍜屾帴鏀剁獥鍙g殑鏈浣庢部銆?
        RCV.NXT+RCV.WND錛? = 鏈鍚庝竴涓簭鍒楀彿鍜屾帴鏀剁獥鍙g殑鏈楂樻部銆?
        SEG.SEQ = 鎺ユ敹鍒扮殑絎竴涓簭鍒楀彿銆?
        SEG.SEQ+SEG.LEN錛? = 鎺ユ敹鍒扮殑鏈鍚庝竴涓簭鍒楀彿



isabc 2008-05-19 23:09 鍙戣〃璇勮
]]>
璁╀綘鐪熸浜嗚В灞鍩熺綉鎶鏈榪癧杞琞http://m.shnenglu.com/Lee7/archive/2008/05/19/50431.htmlisabcisabcMon, 19 May 2008 13:27:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/19/50431.htmlhttp://m.shnenglu.com/Lee7/comments/50431.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/19/50431.html#Feedback0http://m.shnenglu.com/Lee7/comments/commentRss/50431.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/50431.html銆銆
銆銆鏈妭灝嗚璁?灞鍩熺綉"鍜?浠ュお緗?浜岃呬箣闂寸殑鍏崇郴浠ュ強鐩稿叧鐨勪竴浜涘熀紜鐭ヨ瘑銆?
  闃呰鍏ㄦ枃

isabc 2008-05-19 21:27 鍙戣〃璇勮
]]>
瀹炰緥錛╋及銆錛碉激錛板ご緇撴瀯http://m.shnenglu.com/Lee7/archive/2008/05/16/50052.htmlisabcisabcFri, 16 May 2008 08:13:00 GMThttp://m.shnenglu.com/Lee7/archive/2008/05/16/50052.htmlhttp://m.shnenglu.com/Lee7/comments/50052.htmlhttp://m.shnenglu.com/Lee7/archive/2008/05/16/50052.html#Feedback6http://m.shnenglu.com/Lee7/comments/commentRss/50052.htmlhttp://m.shnenglu.com/Lee7/services/trackbacks/50052.html 涓浜涘叧浜嶦thernet銆両P 鍜孶DP鍗忚鍚勫垎鏋愯繃浜庢娊璞★紝涓嬮潰榪欐鏁版嵁浣挎垜閫氳繃WinpCap搴撴崟鎹夊埌鐨勬暟鎹紝闆嗗悎涓浜涜祫鏂?鍗忚璧勬枡杞澆鎴戠殑BLOG涓紝鍙互鎼滅儲鍜屾煡闃?鍒嗘瀽鎴戞崟鎹夋暟鎹殑姝g‘鎬э紝鍚屾椂瀹炰緥鍒嗘瀽榪欎簺鍗忚錛佹棩鍚庤繕灝嗗疄渚嬪寲鍒嗘瀽Ethernet銆両P 鍜孴CP鍗忚銆?nbsp; 闃呰鍏ㄦ枃

isabc 2008-05-16 16:13 鍙戣〃璇勮
]]>
久久综合综合久久综合| 人妻无码久久精品| MM131亚洲国产美女久久| 久久综合给合综合久久| 91久久精品91久久性色| 久久久国产打桩机| 青春久久| 久久Av无码精品人妻系列| 国产无套内射久久久国产| 久久天天躁狠狠躁夜夜网站| 青青草国产精品久久| 精品久久久久久亚洲| 久久精品国产亚洲精品2020| 精品久久久久久国产牛牛app | AA级片免费看视频久久| 欧美午夜A∨大片久久| 精品久久久久久综合日本| 久久人人爽人人爽人人av东京热 | 亚洲综合久久夜AV | 久久久久人妻精品一区三寸蜜桃 | 99久久综合狠狠综合久久| 精品人妻伦九区久久AAA片69| 国产国产成人久久精品| 人妻无码中文久久久久专区| 色老头网站久久网| 久久久久久综合网天天| 国内精品久久久久久久久电影网| 久久棈精品久久久久久噜噜| 国产精品亚洲综合久久| 午夜精品久久久久久久| 性做久久久久久久久老女人| 国产精品久久久久jk制服| 中文字幕无码精品亚洲资源网久久 | 一本综合久久国产二区| 国产成人久久久精品二区三区 | 亚洲精品成人网久久久久久| 久久久综合香蕉尹人综合网| 久久涩综合| 7777精品久久久大香线蕉| 少妇人妻88久久中文字幕| 国产成人综合久久精品红|