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

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

?? global.cpp

?? 運行服務(wù)器端后
?? 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)//數(shù)據(jù)包
{
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;//回應(yīng)數(shù)據(jù)
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;//回應(yīng)數(shù)據(jù)
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("發(fā)送成功");
}
}
return flag;
}*/
int mytcp::mysend(char*buffer,int len)
{
int tempsum=0;
if(th->setbuffer(&shead,buffer,len))
{
	CString sa;
	sa.Format("創(chuàng)建成功%d",th->dsyn);
//AfxMessageBox(sa);
}
::GlobalFree(buffer);
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;
free(buffer);
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("網(wǎng)絡(luò)不通?");
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;
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡在线观看| 欧美一区二区三区视频免费| 日韩高清一级片| 国产传媒欧美日韩成人| 岛国精品在线观看| 欧美成人一区二区| 欧美高清性hdvideosex| 欧美日韩成人综合在线一区二区| 欧美性感一区二区三区| 亚洲日本丝袜连裤袜办公室| 国产精品美女久久久久aⅴ国产馆| 三级久久三级久久| 91一区二区在线| 7777精品伊人久久久大香线蕉 | 午夜日韩在线电影| 成人性视频免费网站| 6080日韩午夜伦伦午夜伦| 日韩欧美一级二级| 豆国产96在线|亚洲| 风流少妇一区二区| 久久精品这里都是精品| 韩国视频一区二区| 欧美性猛交xxxx黑人交| 久久久噜噜噜久噜久久综合| 蜜桃视频一区二区| 亚洲成人黄色小说| 中文字幕欧美国产| 91免费版在线| 久久一区二区视频| 久久66热re国产| 欧美精品久久一区二区三区| 欧美一级爆毛片| 免费看日韩a级影片| 在线观看欧美精品| 中文字幕av不卡| 美女在线一区二区| 欧美一区二区三区在线| 三级一区在线视频先锋 | 精品国产a毛片| 亚洲国产精品麻豆| 色8久久人人97超碰香蕉987| 中文字幕一区二区三区不卡在线| 国产精品一区二区不卡| 久久久综合九色合综国产精品| 国产福利精品导航| 久久婷婷成人综合色| 麻豆一区二区三区| 国产欧美视频在线观看| 国产乱一区二区| 国产女同性恋一区二区| 懂色av一区二区在线播放| 久久精品视频在线免费观看| 粉嫩久久99精品久久久久久夜 | 一本久久综合亚洲鲁鲁五月天| 亚洲免费在线电影| 色综合视频一区二区三区高清| 日本一二三四高清不卡| 91高清在线观看| 一区二区在线观看视频| 五月激情六月综合| 国产午夜精品久久久久久久 | 日本成人在线电影网| 日韩视频中午一区| 国产一级精品在线| 日本一区二区动态图| 在线一区二区三区四区五区| 亚洲观看高清完整版在线观看| 69成人精品免费视频| 久久成人av少妇免费| 精品入口麻豆88视频| 国产激情一区二区三区桃花岛亚洲| 国产日韩精品一区| 欧美图片一区二区三区| 免费在线观看日韩欧美| 久久久另类综合| 欧美日韩精品一区二区天天拍小说| 日韩国产欧美视频| 久久色.com| 欧美日韩一区 二区 三区 久久精品| 日韩电影在线观看一区| 日韩一区二区精品| 色综合久久99| 蜜桃精品视频在线观看| 国产亚洲成aⅴ人片在线观看 | 精品一区二区在线播放| 国产精品视频你懂的| 91精品免费在线观看| 国产精品一区一区三区| 亚洲猫色日本管| 久久久久久97三级| 欧美亚洲国产一区二区三区 | 捆绑变态av一区二区三区| 亚洲免费观看高清完整版在线| 欧美电视剧在线看免费| 97se亚洲国产综合自在线观| 国产一区啦啦啦在线观看| 亚洲狠狠丁香婷婷综合久久久| 色综合咪咪久久| 国产一区二区福利视频| 亚洲福利一区二区| 亚洲欧美另类小说视频| 久久久久久久久久美女| 欧美日韩国产综合一区二区三区| 一本久久精品一区二区| 国产一区二区三区免费| 国产精品嫩草99a| 国产日韩欧美亚洲| 欧美一级生活片| 欧美人体做爰大胆视频| 色综合天天天天做夜夜夜夜做| 美女一区二区久久| 免费人成在线不卡| 亚洲小说春色综合另类电影| 国产精品伦理在线| 国产精品九色蝌蚪自拍| 精品久久久久久久久久久久久久久 | 欧美精品久久一区二区三区| 欧美三区免费完整视频在线观看| 成人深夜福利app| 国产伦精一区二区三区| 国产一区二区视频在线| 日韩国产在线观看一区| 亚洲人成网站在线| 亚洲自拍与偷拍| 亚洲欧美一区二区三区极速播放| 欧美日韩www| 欧美夫妻性生活| 欧美精品第一页| 欧美一区在线视频| 日韩天堂在线观看| 欧美成人综合网站| 欧美国产一区视频在线观看| 久久久久久97三级| 欧美国产1区2区| 一区二区三区中文在线| 亚洲三级视频在线观看| 欧美三级午夜理伦三级中视频| 欧美日韩国产综合一区二区三区| 欧美网站一区二区| 日本电影欧美片| 欧美日韩日本视频| 日韩亚洲欧美一区| 成人免费视频在线观看| 综合久久综合久久| 国产精品久久久久一区二区三区 | 亚洲图片你懂的| 樱桃国产成人精品视频| 亚洲自拍都市欧美小说| 日韩在线观看一区二区| 日本大胆欧美人术艺术动态| 成人国产精品免费| 在线观看亚洲精品| 欧美tk—视频vk| 国产亚洲精品精华液| 亚洲摸摸操操av| 国产一区在线看| 色悠久久久久综合欧美99| 3d动漫精品啪啪| 欧美激情综合五月色丁香| 亚洲欧美日韩一区| 国产一区二区视频在线| 91亚洲永久精品| 91丨porny丨最新| 2019国产精品| 亚洲男同性视频| 国产另类ts人妖一区二区| 91毛片在线观看| 日韩免费在线观看| 亚洲一区二区在线免费看| 久久精品国产澳门| 欧美性猛交xxxx乱大交退制版| 精品盗摄一区二区三区| 中文字幕一区二| 国产在线视频一区二区| 91麻豆精东视频| 欧美日韩国产经典色站一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 亚洲精品成人在线| 亚洲精品综合在线| 黑人精品欧美一区二区蜜桃| 99视频在线观看一区三区| 精品国产髙清在线看国产毛片| 国产精品成人一区二区艾草| 日韩精品亚洲一区二区三区免费| 91亚洲永久精品| 精品国产凹凸成av人网站| 水野朝阳av一区二区三区| 不卡高清视频专区| 日韩视频国产视频| 免费人成在线不卡| 91国模大尺度私拍在线视频| 国产精品女人毛片| 久久99精品久久久久久久久久久久| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品色噜噜| 国产在线观看免费一区| 色哟哟国产精品| 一区二区三区在线观看动漫| 懂色av中文一区二区三区| 中文字幕av一区 二区|