::OnReceive()死也触发不了,已按各位的办法从CAsyncSocket派生了一个类

jeefis 2005-03-08 04:51:38
我按高手的做法已从CAsyncSocket派生了一个类oksocket,手动添加了一个oksocket::snd()函数用来发送数据,然后重写了oksocket::OnReceive(),现在触发oksocket::snd()函数能成功发出数据但就是没见到oksocket::OnReceive()触发;
这是头文件:
class oksocket : public CAsyncSocket
{
public:
oksocket();
virtual ~oksocket();
virtual void OnReceive(int nErrorCode);
CAsyncSocket *newsocket;
void oksocket::snd();
//CAsyncSocket *nnewsocket=new CAsyncSocket;
};

以下是CPP文件:

oksocket::oksocket()
{
//好像不能将下面三句放在这里?!
//oksocket *newsocket=new oksocket;
//newsocket->Create(9002,SOCK_DGRAM);
//newsocket->Bind(9002);
}

oksocket::~oksocket()
{
}


// oksocket 成员函数

void oksocket::OnReceive(int nErrorCode)
{
// TODO: 在此添加专用代码和/或调用基类
oksocket *newsocket=new oksocket;
newsocket->Create(9002,SOCK_DGRAM);
newsocket->Bind(9002);
char buff[300];
CString port2;
UINT addr2;
int rec=newsocket->ReceiveFrom(buff,300,port2,addr2);
rec++;
if(rec>0)
AfxMessageBox("OK");
newsocket->Close();

CAsyncSocket::OnReceive(nErrorCode);
}

void oksocket::snd()
{
oksocket *newsocket=new oksocket;
newsocket->Create(9002,SOCK_DGRAM);
newsocket->Bind(9002);
int rec=newsocket->SendTo("ttt",4,9002,"127.0.0.1");
rec++;
newsocket->Close();
}


我不知道为何将oksocket *newsocket=new oksocket; newsocket->Create(9002,SOCK_DGRAM); newsocket->Bind(9002);这三行代码放在构造函数中编译时总循环在这个断点,程序运行时也会提示“内存不足”,所以每个语句都生成了一个实例,是不是这里的原因?
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liping80919 2005-04-08
  • 打赏
  • 举报
回复
北京公司招聘兼职.Net开发人员

1、工作形式:兼职,但要求一周保证至少三天能来本单位工作,在需求分析讨论期间要求多一些,四天以上;能在今年4到5月两个月内做全职者优先,待遇从优。

2、工作内容:完成一个数据处理系统的开发工作。总体来说就是把入库前的各种格式的数据(如XLS,DBF)、其结构多为报表形式的,处理为数据库中表结构的格式,能够达到入库要求的格式。使用开发语言初步定为VB.NET或VC.NET,系统结构为C/S结构。

3、技能要求:要求至少有二年以上开发经验,对.NET技术熟悉,有一定系统设计与分析能力。

4、任务完成时间要求:该系统要求于2005年6月中旬完成。

如有意者请尽快与我联系,qqhhp@sina.com, 电话:64868170
xmxjh 2005-04-08
  • 打赏
  • 举报
回复
别忘了结贴,要扣信誉分的!
谢谢,接分
jeefis 2005-03-09
  • 打赏
  • 举报
回复
我已搞定了,谢谢大家!
jeefis 2005-03-09
  • 打赏
  • 举报
回复
我反复试了两天没有一次能触发::OnReceive(),倒是可以在SendTo()后马上用ReceiveFrom()来收到自己发的信息,但将ReceiveFrom()不和SendTo()放在同一个函数中就收不到任何地方发来的数据,请哪位帮我看看呀?苦恼两天了...

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧