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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? global.cpp

?? 運行服務器端后
?? CPP
字號:
#include "stdafx.h"
#include "global.h"

mytcp*th;
int fla;
int rrlen;
int mytcp::mycreat(int port)
{this->sum=2;
this->rhead.len=0;
rrlen=0;
th=this;
this->isreceve=0;
rhead.len=0;
start=&shead;
//rhead=&rhead;

return Create(port,SOCK_DGRAM);

}
int mytcp::myconnect(CString ip,int port)
{
this->isserve=0;
node s;
node *r=new node;
s.synflag=0;
s.senumber=160;
mysyn=160;
this->SendTo((void*)&s,sizeof(node),port,ip);
int chaoshi=0;
int j=0;
for(;;)
{
chaoshi++;
if(chaoshi>=30000)
{chaoshi=0;
	j++;
if(j>50000)
{CString gg;
gg.Format("connect超時%d",j);
AfxMessageBox(gg);
break;
}
}
if(receive==1)
{
int ret=Receive(r,sizeof(node));
receive=0;
dsyn=r->senumber+1;
if(r->acknumber!=mysyn+1)
{CString ll;
ll.Format("序列號錯誤%d,%d",r->acknumber,r->senumber);
AfxMessageBox(ll);
}
else
{AfxMessageBox("hahahah!");
this->ip=ip;
this->port=port;
break;
}}
}
this->isserve=1;
this->mysyn++;
this->dsyn=201;
AfxMessageBox("cli連接成功");
return 1;
}

void mytcp::OnReceive(int nErrorCode) 
{
	if(nErrorCode==0)
{
receive=1;
node s;
if(th->isserve==1)
{
th->ReceiveFrom(&s,sizeof(node),th->ip,th->port);

receive=0;
}
if((s.synflag==0)&&(th->isserve==1))//連接過程
{
dsyn=s.senumber+1;
CString ll;
ll.Format("serve:%d",s.senumber);
//AfxMessageBox(ll);
s.synflag=0;
s.acknumber=s.senumber+1;
s.senumber=200;
th->mysyn=201;

th->SendTo(&s,sizeof(node),th->port,th->ip);
//this->isserve=0;
//AfxMessageBox("serve連接成功");
this->isaccpet=1;
}
if(s.synflag==1)
{
if(s.ackflag==1)//確認包?
{
node*p;
p=start;
if(start->senumber==s.acknumber)
{  CString aa;
aa.Format("se%d:len%d,npos:%d",s.acknumber,shead.len,start->npos);
//AfxMessageBox(aa);
	if(start->npos>=shead.len)
{CString hh;
hh.Format("完成%d",s.acknumber);
//AfxMessageBox(hh);
	th->isfinish=1;
	
}
	else{
		start=p->next;
	}
end=start;
}
}

if(s.ackflag==0)//數據包
{
CString ss;
s.data[s.pos]=0;
ss.Format("data:%s:snumber%d dsn:%d",s.data,s.senumber,th->dsyn);

node *p,*pre,*sl;
pre=p=&rhead;
//AfxMessageBox(ss);
if(s.senumber==th->dsyn)
{
	th->dsyn++;
if(rhead.len==0)
{
p=pre->next=(node*)malloc(sizeof(node));
rhead.len++;
rrlen++;
memcpy(p,&s,sizeof(node));
p->life=8000;
rend=p;
rstart=&rhead;
th->rstart=rstart;
node ap;
this->rlen=s.len;
ap.ackflag=1;//回應數據
ap.synflag=1;//非連接過程
ap.acknumber=s.senumber;
//AfxMessageBox("len=0");
//AfxMessageBox("dsdsdsd");
th->SendTo((char*)&ap,sizeof(node),th->port,th->ip);
this->type=s.type;
strcpy(this->name,s.name);
if(rhead.len==s.len)
{//AfxMessageBox("接受完畢");
this->isreceve=1;
}//AfxMessageBox("len=0");
}

//DWORD  dwthewad;

//this->starttimer();
//HANDLE thread=CreateThread(NULL,0,my2,this,0,&dwthewad);

else 
{//AfxMessageBox("len>0");
	sl=(node*)malloc(sizeof(node));
memcpy(sl,&s,sizeof(node));
sl->life=8000;
node ackp;
ackp.ackflag=1;//回應數據
ackp.synflag=1;//非連接過程
ackp.acknumber=sl->senumber;
th->SendTo(&ackp,sizeof(node),th->port,th->ip);
checkre(sl);
if(rhead.len==this->rlen)
{//AfxMessageBox(" 接受完畢");
this->isreceve=1;
}
}
}

}


}
}
}
int mytcp::myaccept()
{th->isserve=1;
return 1;
}
/*int mytcp::mysend(char*buffer,int len)
{int flag=0;
node s,d;
for(int i=0;i<len;i++)
s.data[i]=buffer[i];
s.senumber=this->mysyn+1;
s.length=len;
s.acknumber=this->dsyn;
this->SendTo(&s,sizeof(node),this->port,this->ip);
if(this->ReceiveFrom(&d,sizeof(node),this->ip,this->port)!=SOCKET_ERROR)
{if(d.acknumber==this->dsyn)
{
flag=1;
AfxMessageBox("發送成功");
}
}
return flag;
}*/
int mytcp::mysend(char*buffer,int len)
{
int tempsum=0;
if(th->setbuffer(&shead,buffer,len))
{
	CString sa;
	sa.Format("創建成功%d",th->dsyn);
//AfxMessageBox(sa);
}
node *p;
start=shead.next;
p=start;
end=p;
th->isfinish=0;
th->starttimer();
//for(;;)
{

}

return 1;
}



DWORD mytcp::myreceive(char*buffer,DWORD len)
{DWORD flag=0;
if(rhead.len>0)
{
rhead.len=0;
char *ps;
ps=buffer;
int ff;
if(len%1024==0)
ff=len/1024;
else
ff=(len/1024)+1;
node*p;
p=rhead.next;
for(int i=0;i<ff;i++)
{if(i>rhead.len)
{
	rhead.len=0;
	break;
}

if(i==ff-1)
{if(i==rhead.len)
rhead.len=0;
	rhead.next=p->next;
if((len%1024)==0)
{
memcpy(ps,p->data,p->pos);
flag=flag+p->pos;
}
else
{
memcpy(ps,p->data,p->pos);
flag=flag+p->pos;
}
}
else
{memcpy(ps,p->data,p->pos);
flag=flag+p->pos;

ps=ps+p->pos;

p=p->next;
}
}}

return flag;
}

DWORD WINAPI my(LPVOID param)
{
int  flag=0; 
int j=0;
for(;;)
{
if(th->isfinish==1)
{CString kk;
node *fre=&th->shead;
node *pfre;
pfre=fre;
for(int fr=0;fr<th->shead.len;fr++)
{  pfre=fre;
fre=fre->next;
if(pfre!=&th->shead)
	free(pfre);
}
kk.Format("chenggongfasongwanbi%d",th->dsyn);
th->endofsend=1;
//AfxMessageBox(kk);
break;
}
//	AfxMessageBox(ll);
th->check(th->start);
flag++;
if(flag>=30000)
{flag=0;
node*p,*pre;
p=th->start;
if(th->shead.len!=0)
{if(th->start==th->end)
{
	if(th->start->issend==1)
th->start->life--;
if(th->start->life==0)
AfxMessageBox("dead");
}
}
}
}

return 1;
}
int mytcp::starttimer()
{//th=this;
DWORD  dwthewad;
//eend=end;
m_hThread=CreateThread(NULL,0,my,this,0,&dwthewad);
return 1;
}
int mytcp::setbuffer(node*head,char*buffer,int len)
{
int flag=0;
node*p,*pre;
char *ps;
ps=buffer;
int aa=0;
if(len%1024==0)
aa=len/1024;
else 
aa=(len/1024)+1;
shead.len=0;
p=pre=head;
head->len=0;
for(int i=0;i<aa;i++)
{p=pre->next=(node*)malloc(sizeof(node));
if(i==0)
{p->len=aa;
p->type=this->type;
strcpy(p->name,this->name);
}
head->len++;
p->pos=0;
if(p==head->next)
{p->senumber=this->mysyn+i;
p->npos=1;
}
else
{p->senumber=pre->senumber+1;
p->npos=pre->npos+1;
}
p->life=30000;
p->synflag=1;
p->issend=0;
p->ackflag=0;
p->resend=1;
if(i==aa-1)
{
if(len%1024)
{p->pos=len%1024;
memcpy(p->data,ps,len%1024);
flag=1;
}
else
{
p->pos=1024;
memcpy(p->data,ps,1024);
flag=1;
}
}
else
{p->pos=1024;
memcpy(p->data,ps,1024);
ps=ps+1024;
}
pre=p;
}
this->mysyn=p->senumber+1;
return flag;
}
int mytcp::check(node*p)
{int flag=1;
if((p->issend==1)&&(p->life<=0))
{AfxMessageBox("send 2");
this->SendTo(p,sizeof(node),this->port,this->ip);
p->resend++;
if(p->resend>=3)
{
AfxMessageBox("網絡不通?");
flag=0;
}
}
if(p->issend==0)
{
	//AfxMessageBox("fasong1");
	this->SendTo(p,sizeof(node),this->port,this->ip);
	p->resend=0;
p->issend=1;
}

return flag;
}
int mytcp::checkre(node*p)
{
node*pp,*pre;
pre=pp=&rhead;
int flag=0;
for(int i=0;i<rhead.len;i++)
{pp=pp->next;
if(p->senumber<pp->senumber)
{rhead.len++;
rrlen++;
pre->next=p;
p->next=pp;
}
/*if(p->senumber==pp->senumber)
{flag=1;
	break;
}*/
pre=pp;
}
if((i==rhead.len)&&(flag!=1))
{pp->next=p;
rhead.len++;
rrlen++;
}
return 1;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人免费观看| 国产乱码精品一区二区三区av| 777午夜精品免费视频| 国产福利一区二区三区| 一区二区三区不卡视频| 国产欧美日韩在线视频| 欧美日韩五月天| 色综合天天综合在线视频| 精品亚洲国产成人av制服丝袜| 一区二区在线观看不卡| 国产人妖乱国产精品人妖| 日韩免费电影一区| 欧美视频一区二| 色狠狠一区二区| 91亚洲精华国产精华精华液| 黑人巨大精品欧美一区| 日韩和欧美一区二区三区| 亚洲欧洲制服丝袜| 中文字幕一区二区三区蜜月| 久久久久久久久久久久电影| 欧美电影免费观看高清完整版| 欧洲av在线精品| 色香蕉成人二区免费| 成人黄色一级视频| 高清免费成人av| 国产精品1区二区.| 国产在线精品一区在线观看麻豆| 香蕉影视欧美成人| 亚洲1区2区3区4区| 午夜一区二区三区视频| 亚洲一区二区三区激情| 亚洲综合免费观看高清完整版在线 | 国产亚洲午夜高清国产拍精品 | 欧美日本国产视频| 欧美日韩一区二区三区在线看 | 91视频免费播放| 成人精品一区二区三区中文字幕| 国产成人免费视频一区| 国产在线视频一区二区三区| 激情综合色播五月| 国内精品在线播放| 国产v综合v亚洲欧| av成人免费在线| 色综合天天综合给合国产| caoporen国产精品视频| 97久久超碰精品国产| 一本久久精品一区二区| 日本久久一区二区三区| 欧美性欧美巨大黑白大战| 欧美日韩精品电影| 欧美一区二区三区白人 | 成人免费小视频| 亚洲日本va午夜在线影院| 亚洲另类色综合网站| 亚洲激情第一区| 无码av中文一区二区三区桃花岛| 日韩av一区二区三区四区| 精品综合久久久久久8888| 国产九色精品成人porny| 波波电影院一区二区三区| 色呦呦一区二区三区| 欧美美女一区二区| 欧美大片一区二区| 国产精品全国免费观看高清| 亚洲人成人一区二区在线观看 | 国产一区二区三区不卡在线观看| 懂色av一区二区在线播放| 91一区一区三区| 91精品国产综合久久久蜜臀图片| 精品国产第一区二区三区观看体验| 久久精品亚洲一区二区三区浴池| 亚洲欧洲精品一区二区精品久久久 | 日韩欧美电影一二三| 国产日韩欧美激情| 一个色综合av| 国产乱对白刺激视频不卡| 99精品视频一区| 91精品国产高清一区二区三区| 久久久青草青青国产亚洲免观| 亚洲免费视频中文字幕| 日韩中文字幕一区二区三区| 国产精品一区在线观看乱码| 91久久精品日日躁夜夜躁欧美| 日韩一区二区在线观看视频 | 久久免费看少妇高潮| 亚洲精品伦理在线| 久久99精品一区二区三区| av激情成人网| 日韩美女视频在线| 亚洲欧美视频一区| 激情另类小说区图片区视频区| 91蝌蚪国产九色| 欧美精品一区二区不卡 | 成人免费黄色在线| 欧美一区二区三区婷婷月色| 一区在线观看视频| 毛片一区二区三区| 欧美中文字幕不卡| 国产日产欧美一区| 久久黄色级2电影| 91免费国产在线| 国产偷v国产偷v亚洲高清 | 成人18视频日本| 日韩免费性生活视频播放| 亚洲免费观看高清完整版在线| 九九精品一区二区| 欧美一级片免费看| 亚洲伊人色欲综合网| 高清不卡在线观看| 久久久久久黄色| 青青草精品视频| 欧美中文字幕一二三区视频| 国产精品国产三级国产aⅴ无密码| 九九精品一区二区| 欧美一区二区久久| 偷窥国产亚洲免费视频| 色综合久久综合| 国产精品国产三级国产三级人妇 | 奇米精品一区二区三区四区 | 日韩欧美一级特黄在线播放| 亚洲一级在线观看| 色香蕉久久蜜桃| 亚洲男同性恋视频| 91原创在线视频| 亚洲欧美另类在线| aaa国产一区| 国产精品第13页| 99久久精品国产网站| 亚洲国产精品成人综合 | 欧美在线视频日韩| 亚洲制服欧美中文字幕中文字幕| 色综合色综合色综合色综合色综合| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美tickling挠脚心丨vk| 日本色综合中文字幕| 欧美一区二区三区免费在线看| 奇米精品一区二区三区在线观看一| 欧美精品在线一区二区| 日韩高清一级片| 欧美一级国产精品| 国产一区二区三区综合| 久久久久国产成人精品亚洲午夜| 国产一区二区视频在线| 欧美国产精品v| 99免费精品在线观看| 亚洲日本在线天堂| 欧美剧情电影在线观看完整版免费励志电影 | 中文字幕中文字幕中文字幕亚洲无线| 成人黄色大片在线观看| 椎名由奈av一区二区三区| 色综合天天综合色综合av| 亚洲丶国产丶欧美一区二区三区| 555www色欧美视频| 国产主播一区二区三区| 中文字幕国产一区二区| 成人黄色大片在线观看| 亚洲综合丁香婷婷六月香| 7799精品视频| 国产成人精品三级麻豆| 亚洲欧美偷拍另类a∨色屁股| 欧美色爱综合网| 精品一区二区三区影院在线午夜| 久久九九久精品国产免费直播| 成人激情黄色小说| 亚洲国产精品久久人人爱蜜臀 | 成人午夜又粗又硬又大| 亚洲黄色免费网站| 欧美一区二区精品久久911| 国产精品自在欧美一区| 亚洲婷婷国产精品电影人久久| 欧美日韩大陆一区二区| 国产一区久久久| 一区二区三区在线不卡| 日韩视频免费观看高清完整版在线观看| 国产在线观看一区二区| 亚洲免费伊人电影| ww亚洲ww在线观看国产| 在线免费精品视频| 国产麻豆精品久久一二三| 一个色妞综合视频在线观看| 久久中文娱乐网| 91年精品国产| 精品在线播放免费| 亚洲精品成人悠悠色影视| 日韩一区二区三| 91首页免费视频| 寂寞少妇一区二区三区| 亚洲在线视频免费观看| 国产亚洲精品bt天堂精选| 欧美日韩美少妇| 成人激情视频网站| 狠狠色丁香婷婷综合久久片| 一级中文字幕一区二区| 国产精品少妇自拍| 日韩一级免费观看| 欧美三级电影网| 91猫先生在线| 国产xxx精品视频大全| 久久疯狂做爰流白浆xx| 性做久久久久久久久|