游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3765|回复: 3

询问一下Hoho引擎网络模块的一些问题

[复制链接]

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2004-11-5 11:23:00 | 显示全部楼层 |阅读模式
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是阻塞模式还是非阻塞模式

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
 楼主| 发表于 2004-11-6 10:10:00 | 显示全部楼层

Re:询问一下Hoho引擎网络模块的一些问题

还有,问一个编译运行方面的问题
我在hNetork.h里的 iNet 类里增加了一个变量tag(不是使用继承,自己在.h头文件里添加的)
编译后可以通过
我想问问在实际运行的时候,我新增加的tag变量能否使用

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
 楼主| 发表于 2004-11-7 20:55:00 | 显示全部楼层

Re:询问一下Hoho引擎网络模块的一些问题

最近再写
long NetRead( void* pNet, long lCode )
发现无法读取对方发过来的内容
        LP_NET fd = (LP_NET) pNet;
        long len;
        fd->GetIoctl(&len);        //        取得收到信息的长度
我在读取接受消息长度的时候都返回的 len 总是为0,通过很多方法试过都不行,不知道在用GetIoctl时还要有什么要注意的

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
 楼主| 发表于 2004-11-9 13:52:00 | 显示全部楼层

Re:询问一下Hoho引擎网络模块的一些问题

是不是我问的问题太幼稚了,sea_bug不愿意回答?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-5-13 08:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表