|
long NetAccept( void* pNet, long lCode )
{
// 当有客户端进行连接,这里进行响应
static p = 1;
session[p].pNet = (LP_NET) pNet;
p++;
return 0;
}
long NetClose( void* pNet, long lCode )
{
return 0;
}
// 初始化网络
void InitNet()
{
char IP[] = "127.0.0.1";
InitWinSocket();
g_pNet = CreateServerNet();
//g_pNet->Create(GetLocalIP(), 8000 );
g_pNet->Create(IP, 8000);
g_pNet->SetAcceptEvent( &NetAccept );
g_pNet->SetCloseEvent( &NetClose );
g_pNet->Listen();
}
我想询问一下关于服务器端响应链接后的pNet的存在周期的问题
当服务器响应一个客户端连接后产生一个 LP_NET pNet 的指针,我把它放到我预先设置好的结构体里(session),当服务器发生读写访问时,都是通过该指针所指向的实体进行操作
现在的问题是:
当客户端不是正常关闭soket后(网络断开,掉线),NetClose函数会不会被立即执行?还是等到连接超时时才响应?
如果客户端非正常关闭soket后,使用pNet操作网络会出现什么样的异常情况
还有就是soket是阻塞模式还是非阻塞模式
|
|