快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

瑞博在线娱乐:c++cli 之异步Socket完成端口实例



简介前段时刻在这宣布了一篇.net 3.5的Socket异步完成端口》,当时是C#写的,主如果为了实际项目利用,一段光阴以前后在应用历程中发清楚明了一些小问题,并按照上级要求变动为C++/CLI的代码,从新改动并再次宣布,盼望给c++/cli初学者一点点参考。如发明法度榜样中问题盼瞥见告于我!

法度榜样主要功能:

1,应用.net 3.5 SocketAsyncEventArgs类,创建异步Socket的完成端口模型

2,应用瑞博在线娱乐自定义PackTask 类处置惩罚TCP粘包问题

3,应用事故将处置惩罚过的原始封包送达给事故绑定的措施

法度榜样类布局如下:

应用示例:

NetServer^ netserver=gcnew NetServer(nport);

netserve瑞博在线娱乐r->ServerEve瑞博在线娱乐nt+=gcnew TaskEventHandler(this,&Form1::NetServerProc);//创建监听

if (!netser瑞博在线娱乐ver->Start())

{

MessageBox::Show("监听GPRS建立掉败!","差错",MessageBoxButtons::OK,MessageBoxIcon::Error);

return;

}

/奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫*/

void NetServerProc(PackTaskEventArgs^ e)

{

switch(e->Type)

{

case TaskType::Connectioned:

//...e->Iep

break;

case TaskType::DisConnectioned:

//...e->Iep

break;

case TaskType::Receive:

//...e->Buff

break;

case TaskType::Exception:

Console::WriteLine(L"error:{0}",e->Message);

break;

case TaskType::DebugRecv:

Console::WriteLin瑞博在线娱乐e(L"debug");

break;

}

}

您可能还会对下面的文章感兴趣: