亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? net.c

?? 最新主流石器時(shí)代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
		}	    if( Connect[fd].rbuse + size > AC_RBSIZE ) {			print( "appendRB AC err buffer over:\n(%s)\n len:%d - rbuse:%d \n",				buf, strlen(buf), Connect[fd].rbuse);	    	return -1;	    }	}    memcpy( Connect[fd].rb + Connect[fd].rbuse , buf, size );    Connect[fd].rbuse += size;    return size;}static int shiftWB( int fd, int len ){    if( Connect[fd].wbuse < len ) {		print( "shiftWB: err\n");    	return -1;    }    memmove( Connect[fd].wb, Connect[fd].wb + len, Connect[fd].wbuse - len  );    Connect[fd].wbuse -= len;	if( Connect[fd].wbuse < 0 ) {		print( "shiftWB:wbuse err\n");		Connect[fd].wbuse = 0;	}    return len;}static int shiftRB( int fd, int len ){    if( Connect[fd].rbuse < len ) {		print( "shiftRB: err\n");    	return -1;    }    memmove( Connect[fd].rb, Connect[fd].rb + len, Connect[fd].rbuse - len  );    Connect[fd].rbuse -= len;	if( Connect[fd].rbuse < 0 ) {		print( "shiftRB:rbuse err\n");		Connect[fd].rbuse = 0;	}    return len;}SINGLETHREAD int lsrpcClientWriteFunc( int fd , char* buf , int size ){    int r;    if( Connect[fd].use == FALSE ){        return FALSE;    }    if( Connect[fd].appendwb_overflow_flag ){        print( "lsrpcClientWriteFunc: buffer overflow fd:%d\n" , fd );        return -1;    }    r = appendWB( fd,  buf ,  size);    // Nuke *1 0907: Ignore acfd from WB error    if(( r < 0 ) && (fd != acfd)) {        Connect[fd].appendwb_overflow_flag = 1;        CONNECT_endOne_debug(fd);        close(fd);        // Nuke + 1 0901: Why close       //  print("closed in lsrpcClientWriteFunc");    }    return r;}static int logRBuseErr = 0;SINGLETHREAD BOOL GetOneLine_fix( int fd, char *buf, int max ){    int i;    if( Connect[fd].rbuse == 0 ) return FALSE;    if( Connect[fd].check_rb_oneline_b == 0 && 		Connect[fd].check_rb_oneline_b == Connect[fd].rbuse ){		return FALSE;	}    for( i = 0; i < Connect[fd].rbuse && i < ( max -1); i ++ ){        if( Connect[fd].rb[i] == '\n' ){ 			memcpy( buf, Connect[fd].rb, i+1);            buf[i+1]='\0';            shiftRB( fd, i+1 );//--------/*			//andy_log			if( strstr( Connect[fd].rb , "ACCharLoad") != NULL &&				Connect[fd].check_rb_oneline_b != 0 )//Connect[fd].rb				LogAcMess( fd, "GetOne", Connect[fd].rb );*///--------			logRBuseErr = 0;			Connect[fd].check_rb_oneline_b=0;			Connect[fd].check_rb_time = 0;            return TRUE;        }    }	//print("rbuse lens: %d!!\n", Connect[fd].rbuse);	logRBuseErr++;//--------	//andy_log	if( fd == acfd && strstr( Connect[fd].rb , "ACCharLoad") != NULL && 		logRBuseErr >= 50 ){//Connect[fd].rb		char buf[AC_RBSIZE];		memcpy( buf, Connect[fd].rb, Connect[fd].rbuse+1);		buf[Connect[fd].rbuse+1]=0;		LogAcMess( fd, "RBUFFER", buf );		logRBuseErr=0;	}//--------    Connect[fd].check_rb_oneline_b = Connect[fd].rbuse;    return FALSE;}#endif /* if USE_MTIO == 0*/ANYTHREAD BOOL initConnectOne( int sockfd, struct sockaddr_in* sin ,int len ){    CONNECT_LOCK(sockfd);    Connect[sockfd].use = TRUE;    Connect[sockfd].ctype = NOTDETECTED;#if USE_MTIO        Connect[sockfd].closed = 0;    #else	Connect[sockfd].wbuse = Connect[sockfd].rbuse = 0;	Connect[sockfd].check_rb_oneline_b = 0;	Connect[sockfd].check_rb_time = 0;#endif    memset( Connect[sockfd].cdkey , 0 , sizeof( Connect[sockfd].cdkey ) );    memset( Connect[sockfd].passwd, 0 , sizeof( Connect[sockfd].passwd) );    Connect[sockfd].state = NOTLOGIN;	Connect[sockfd].nstatecount = 0;    memset( Connect[sockfd].charname,0, sizeof(Connect[sockfd].charname));    Connect[sockfd].charaindex = -1;    Connect[sockfd].CAbufsiz = 0;    Connect[sockfd].CDbufsiz = 0;    Connect[sockfd].rbuse = 0;    Connect[sockfd].wbuse = 0;    Connect[sockfd].check_rb_oneline_b = 0;	Connect[sockfd].check_rb_time = 0;         Connect[sockfd].close_request = 0;      /* 濠蠅邰菲白仿弘 */    // Nuke 08/27 For acceleration avoidance    Connect[sockfd].Walktime = 0;    Connect[sockfd].lastWalktime = 0;    Connect[sockfd].Walkcount = 0;    Connect[sockfd].Walkspool = WALK_SPOOL;    Connect[sockfd].Walkrestore = WALK_RESTORE;    Connect[sockfd].Btime = 0;    Connect[sockfd].lastBtime = 0;    Connect[sockfd].lastlastBtime = 0;    Connect[sockfd].EOtime = 0;	Connect[sockfd].nu_decrease = 0;#ifdef _BATTLE_TIMESPEED//	Connect[sockfd].DefBtime = 0;	Connect[sockfd].BDTime = 0;	Connect[sockfd].CBTime = 0;#endif#ifdef _CHECK_GAMESPEED	Connect[sockfd].gamespeed = 0;#endif#ifdef _TYPE_TOXICATION	Connect[sockfd].toxication = 0;#endif#ifdef _ITEM_ADDEXP	//vincent 經(jīng)驗(yàn)提升	Connect[sockfd].EDTime = 0;#endif//      Connect[sockfd].BEO = 0;    Connect[sockfd].BEOspool = BEO_SPOOL;    Connect[sockfd].BEOrestore = BEO_RESTORE;    //ttom    Connect[sockfd].b_shut_up=FALSE;    Connect[sockfd].Wtime.tv_sec=0;//    Connect[sockfd].Wtime.tv_usec=0;//    Connect[sockfd].WLtime.tv_sec=0;//    Connect[sockfd].WLtime.tv_usec=0;//    Connect[sockfd].b_first_warp=FALSE;    Connect[sockfd].state_trans=0;//avoid the trans     // Nuke    Connect[sockfd].die=0;    Connect[sockfd].credit=3;    Connect[sockfd].fcold=0;    // Nuke 0406: New Flow Control    Connect[sockfd].nu=30;    Connect[sockfd].ke=10;    // Nuke 1213: Flow Control 2    Connect[sockfd].packetin=30; // if 10x10 seconds no packet, drop the line        // Nuke 0624: Avoid Useless Connection    Connect[sockfd].cotime=0;    // Nuke 0626: For no enemy    Connect[sockfd].noenemy=0;    // Arminius 7.2: Ra's amulet    Connect[sockfd].eqnoenemy = 0;#ifdef _Item_MoonAct	Connect[sockfd].eqrandenemy = 0;#endif#ifdef _CHIKULA_STONE	Connect[sockfd].chistone = 0;#endif    // Arminius 7.31: cursed stone    Connect[sockfd].stayencount = 0;    // CoolFish: Init Trade 2001/4/18    memset(&Connect[sockfd].TradeTmp, 0, sizeof(Connect[sockfd].TradeTmp));#ifdef _ITEM_PILEFORTRADE	Connect[sockfd].tradelist = -1;#endif    // Arminius 6.22 Encounter    Connect[sockfd].CEP = 0;    // Arminius 7.12 login announce    Connect[sockfd].announced=0;#ifdef _NO_WARP    // shan hjj add Begin    Connect[sockfd].seqno=-1;    Connect[sockfd].selectbutton=1;	// shan End#endif	Connect[sockfd].confirm_key=FALSE;   // shan trade(DoubleCheck)    if( sin != NULL )memcpy( &Connect[sockfd].sin , sin  , len );    memset( &Connect[sockfd].lastprocesstime, 0 ,            sizeof(Connect[sockfd].lastprocesstime) );    memcpy( &Connect[sockfd].lastCAsendtime, &NowTime ,            sizeof(Connect[sockfd].lastCAsendtime) );    memcpy( &Connect[sockfd].lastCDsendtime, &NowTime ,            sizeof(Connect[sockfd].lastCDsendtime) );    memcpy( &Connect[sockfd].lastCharSaveTime, &NowTime ,            sizeof(Connect[sockfd].lastCharSaveTime) );    // Shan Add    memcpy( &Connect[sockfd].lastrecvtime, &NowTime ,            sizeof(Connect[sockfd].lastrecvtime) );    memcpy( &Connect[sockfd].lastrecvtime_d, &NowTime ,            sizeof(Connect[sockfd].lastrecvtime_d) );	memcpy( &Connect[sockfd].battle_recvtime, &NowTime ,            sizeof(Connect[sockfd].battle_recvtime) );#ifdef _BLACK_MARKET	{		int i;		for(i=0; i<12; i++)			Connect[sockfd].BMSellList[i] = -1;	}#endif                   memcpy( &Connect[sockfd].lastreadtime , &NowTime,            sizeof(struct timeval));    Connect[sockfd].lastreadtime.tv_sec -= DEBUG_ADJUSTTIME;    Connect[sockfd].errornum = 0;    Connect[sockfd].fdid = SERVSTATE_incrementFdid();    CONNECT_UNLOCK(sockfd);    Connect[sockfd].appendwb_overflow_flag = 0;    return TRUE;}ANYTHREAD BOOL _CONNECT_endOne( char *file, int fromline, int sockfd , int line ){    CONNECT_LOCK_ARG2(sockfd,line);    if( Connect[sockfd].use == FALSE ){        CONNECT_UNLOCK_ARG2(sockfd,line);		//andy_log		print("連接已關(guān)閉[%d]!!\n", sockfd );        return TRUE;    }	Connect[sockfd].use = FALSE;    if( Connect[sockfd].ctype == CLI && Connect[sockfd].charaindex >= 0 ){        CONNECT_UNLOCK_ARG2( sockfd,line );        if( !CHAR_logout( sockfd,TRUE )) {        	print( "err %s:%d from %s:%d \n", __FILE__, __LINE__, file, fromline);        }        CONNECT_LOCK_ARG2( sockfd ,line);    }        unsigned long ip;    int a,b,c,d;    int i;    ip=CONNECT_get_userip(sockfd);    a=(ip % 0x100); ip=ip / 0x100;    b=(ip % 0x100); ip=ip / 0x100;    c=(ip % 0x100); ip=ip / 0x100;    d=(ip % 0x100);        print( "賬號(hào)=%s 編號(hào)=%d\n", Connect[sockfd].cdkey,sockfd );		for(i=0;i<getMaxLockip();i++)			 if(cmpLockip(i,a,b,c,d,0))return;#if USE_MTIO == 0    Connect[sockfd].rbuse = Connect[sockfd].wbuse = 0;#else    Connect[sockfd].wbuse = Connect[sockfd].rbuse = 0;#endif    Connect[sockfd].CAbufsiz = 0;    Connect[sockfd].CDbufsiz = 0;    CONNECT_UNLOCK_ARG2(sockfd,line);    return TRUE;}SINGLETHREAD BOOL initConnect( int size ){    int i,j;    ConnectLen = size;    Connect = calloc( 1, sizeof( CONNECT ) * size );    if( Connect == NULL )return FALSE;    for( i = 0 ; i < size ; i ++ ){        memset( &Connect[i] , 0 , sizeof( CONNECT ) );        Connect[i].charaindex = -1;		Connect[i].rb = calloc( 1, RBSIZE);		if( Connect[i].rb == NULL ) {			fprint( "calloc err\n");			for( j = 0; j < i ; j ++ ) {				free( Connect[j].rb);				free( Connect[j].wb);			}			return FALSE;		}		memset( Connect[i].rb, 0, RBSIZE);		Connect[i].wb = calloc( 1, WBSIZE);		if( Connect[i].wb == NULL ) {			fprint( "calloc err\n");			for( j = 0; j < i ; j ++ ) {				free( Connect[j].rb);				free( Connect[j].wb);			}			free( Connect[j].rb);			return FALSE;		}		memset( Connect[i].wb, 0, WBSIZE);    }#if USE_MTIO    for( i = 0 ;i < size ; i ++ ){        pthread_mutex_init( & Connect[i].mutex , NULL );    }#endif        SERVSTATE_initserverState( );    //ttom for the performance of gmsv    MAX_item_use=getItemnum()*0.98;                return TRUE;}BOOL CONNECT_acfdInitRB( int fd ){	if( fd != acfd ) return FALSE;	Connect[fd].rb = realloc( Connect[acfd].rb, AC_RBSIZE);	if( Connect[acfd].rb == NULL ) {		fprint( "realloc err\n");		return FALSE;	}	memset( Connect[acfd].rb, 0, AC_RBSIZE);	return TRUE;}BOOL CONNECT_acfdInitWB( int fd ){	if( fd != acfd ) return FALSE;	Connect[fd].wb = realloc( Connect[acfd].wb, AC_WBSIZE);	if( Connect[acfd].wb == NULL ) {		fprint( "realloc err\n");		return FALSE;	}	memset( Connect[acfd].wb, 0, AC_WBSIZE);	return TRUE;}ANYTHREAD void endConnect( void ){    int i;    for(i = 0 ; i < ConnectLen  ; i ++ ){        int lco;        lco = close( i );        if( lco == 0 ){            CONNECT_endOne_debug(i);        }        free( Connect[i].rb);        free( Connect[i].wb);    }    free(Connect);}ANYTHREAD BOOL CONNECT_appendCAbuf( int fd , char* data, int size ){    CONNECT_LOCK(fd);    /*      及犯伉立正及 ',' 及坌聶仁割忡仄卅中井氏儀卞鏜啦   */    if( (Connect[fd].CAbufsiz + size) >= sizeof( Connect[fd].CAbuf ) ){        CONNECT_UNLOCK(fd);        return FALSE;    }        memcpy( Connect[fd].CAbuf + Connect[fd].CAbufsiz  , data , size );    Connect[fd].CAbuf[Connect[fd].CAbufsiz+size]=',';    Connect[fd].CAbufsiz += (size + 1);    CONNECT_UNLOCK(fd);    return TRUE;}ANYTHREAD static int CONNECT_getCAbuf( int fd, char *out, int outmax,                                       int *outlen ){        CONNECT_LOCK(fd);    if( Connect[fd].use == TRUE ){        int cplen = MIN( outmax, Connect[fd].CAbufsiz );        memcpy( out, Connect[fd].CAbuf , cplen );        *outlen = cplen;        CONNECT_UNLOCK(fd);        return 0;    } else {        CONNECT_UNLOCK(fd);        return -1;    }}ANYTHREAD static int CONNECT_getCDbuf( int fd, char *out, int outmax,                                       int *outlen ){    CONNECT_LOCK(fd);    if( Connect[fd].use == TRUE ){        int cplen = MIN( outmax, Connect[fd].CDbufsiz );        memcpy( out, Connect[fd].CDbuf, cplen );        *outlen = cplen;        CONNECT_UNLOCK(fd);        return 0;    } else {        CONNECT_UNLOCK(fd);        return 0;    }}ANYTHREAD static int CONNECT_setCAbufsiz( int fd, int len ){    CONNECT_LOCK(fd);    if( Connect[fd].use == TRUE ){        Connect[fd].CAbufsiz = len;        CONNECT_UNLOCK(fd);        return 0;    } else {        CONNECT_UNLOCK(fd);        return -1;    }}ANYTHREAD static int CONNECT_setCDbufsiz( int fd, int len ){    CONNECT_LOCK(fd);    if( Connect[fd].use == TRUE ){        Connect[fd].CDbufsiz = len;        CONNECT_UNLOCK(fd);        return 0;    } else {        CONNECT_UNLOCK(fd);        return -1;    }    }ANYTHREAD static void CONNECT_setLastCAsendtime( int fd, struct timeval *t)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲愉拍自拍另类高清精品| 亚洲男人电影天堂| 国产日产欧美一区二区三区| 亚洲婷婷国产精品电影人久久| 久久色.com| 亚洲裸体xxx| 免费av网站大全久久| 久久国产精品第一页| 91亚洲精品一区二区乱码| 高清国产一区二区| 国产乱色国产精品免费视频| 欧美又粗又大又爽| 欧美国产精品一区二区三区| 日韩av一级电影| 欧洲亚洲国产日韩| 一区在线观看免费| 国产成人精品免费网站| 在线不卡免费欧美| 夜夜嗨av一区二区三区四季av| 国产成人aaa| 欧美精品一区二区三区高清aⅴ | 色综合久久综合网| 欧美电视剧免费观看| 丝袜美腿一区二区三区| 在线看不卡av| 一区二区三区国产精品| 93久久精品日日躁夜夜躁欧美| 中日韩av电影| 成人午夜又粗又硬又大| 国产视频亚洲色图| 国产91精品一区二区麻豆亚洲| 久久久久久麻豆| 国产精品99久久久久久久vr| 久久亚洲精品国产精品紫薇| 精品一区二区免费看| 精品欧美一区二区三区精品久久| 日韩电影在线一区| 日韩欧美国产wwwww| 美女在线视频一区| 精品人伦一区二区色婷婷| 精品一区二区三区在线视频| 亚洲精品一线二线三线无人区| 韩国午夜理伦三级不卡影院| 26uuu久久综合| 国产成人综合亚洲91猫咪| 国产精品久久久久久久蜜臀| gogo大胆日本视频一区| 亚洲特黄一级片| 欧洲中文字幕精品| 天堂va蜜桃一区二区三区漫画版| 911精品产国品一二三产区| 蜜桃av噜噜一区| 久久久亚洲精品石原莉奈| 成人午夜视频免费看| 亚洲乱码国产乱码精品精的特点| 欧美在线视频日韩| 日本aⅴ精品一区二区三区| 久久综合九色综合欧美就去吻| 国产成人免费视频一区| 一区二区三区日韩欧美精品| 欧美一级二级在线观看| 成人一级视频在线观看| 亚洲国产精品人人做人人爽| 26uuu亚洲| 欧洲av在线精品| 精品系列免费在线观看| 国产精品久线在线观看| 欧美美女bb生活片| 懂色av噜噜一区二区三区av| 一区二区三区精品在线| 精品国产亚洲一区二区三区在线观看| 成熟亚洲日本毛茸茸凸凹| 亚洲a一区二区| 日本一区二区成人在线| 在线成人av网站| 不卡影院免费观看| 日韩电影一区二区三区四区| 国产欧美日韩精品在线| 91精品国产乱| 91影院在线免费观看| 国产主播一区二区| 亚洲国产成人91porn| 中文字幕欧美激情一区| 欧美一区二区三区影视| av不卡在线播放| 国产美女精品人人做人人爽| 无码av中文一区二区三区桃花岛| 中文字幕成人av| 日韩一区二区三免费高清| 91网站在线观看视频| 国产在线精品一区二区三区不卡 | 色综合婷婷久久| 国内不卡的二区三区中文字幕 | 久久se精品一区二区| 亚洲一区二区四区蜜桃| 国产精品成人一区二区三区夜夜夜 | 1000精品久久久久久久久| 欧美一区二区大片| 欧美性三三影院| 97超碰欧美中文字幕| 国产99久久久精品| 国产在线精品不卡| 麻豆国产欧美日韩综合精品二区| 亚洲图片有声小说| 一区二区三区资源| 一色桃子久久精品亚洲| 中文字幕第一区二区| 久久亚洲一级片| 欧美变态tickle挠乳网站| 欧美一区二区福利视频| 欧美电影在哪看比较好| 欧美男生操女生| 欧美日韩一区国产| 欧美日韩中字一区| 欧美日韩精品一区二区三区四区| 欧美亚洲综合在线| 欧美网站一区二区| 欧美久久婷婷综合色| 91精品国产综合久久福利软件| 欧美日韩久久久久久| 欧美日韩一区二区三区免费看| 欧美性色aⅴ视频一区日韩精品| 欧美网站大全在线观看| 欧美精品一二三| 欧美一级片在线观看| 日韩精品在线看片z| 国产视频一区在线播放| 国产精品成人免费在线| 亚洲女同ⅹxx女同tv| 亚洲制服丝袜在线| 天天综合网天天综合色| 麻豆成人久久精品二区三区小说| 开心九九激情九九欧美日韩精美视频电影| 久久国产婷婷国产香蕉| 国产高清不卡一区二区| 91视频在线看| 欧美日韩精品一区二区三区 | 国产欧美日韩视频在线观看| 国产精品毛片a∨一区二区三区| 综合久久国产九一剧情麻豆| 亚洲国产一区视频| 激情六月婷婷综合| caoporm超碰国产精品| 欧美三日本三级三级在线播放| 7777精品伊人久久久大香线蕉超级流畅 | 午夜精品福利视频网站| 看国产成人h片视频| 大尺度一区二区| 欧美日韩国产另类不卡| 国产日韩欧美麻豆| 亚洲成人精品一区| 国产成人一级电影| 欧美日本在线一区| 国产亚洲欧美一级| 午夜日韩在线电影| 成人高清视频在线| 正在播放亚洲一区| 国产精品久久久久影视| 日韩精品久久久久久| 粉嫩av亚洲一区二区图片| 欧美精品久久久久久久多人混战| 国产色综合久久| 亚洲成av人影院| 成人成人成人在线视频| 日韩午夜在线观看| 一区二区三区视频在线看| 国产精品中文字幕日韩精品| 精品视频一区二区三区免费| 国产欧美日韩另类一区| 蜜臂av日日欢夜夜爽一区| 色香色香欲天天天影视综合网| 久久亚洲二区三区| 天使萌一区二区三区免费观看| 91麻豆精品在线观看| 国产亚洲欧美一区在线观看| 日本亚洲免费观看| 欧美亚洲动漫另类| 亚洲国产高清在线| 精品亚洲欧美一区| 日韩一卡二卡三卡四卡| 亚洲va天堂va国产va久| 色婷婷精品久久二区二区蜜臂av | 一区二区激情视频| 成人动漫中文字幕| 久久九九久久九九| 国产一区二区三区在线观看免费| 欧美精品久久99久久在免费线| 一区二区三区不卡视频| 99久久精品情趣| 国产精品免费免费| 成人av电影在线播放| 日本一区二区三级电影在线观看 | 久久国产精品第一页| 欧美精选在线播放| 亚洲成人精品一区二区| 欧美日本一道本| 日精品一区二区三区| 欧美福利视频一区| 免费三级欧美电影| 精品国产一区二区三区不卡|