Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1077632
  • 博文数量: 104
  • 博客积分: 3715
  • 博客等级: 中校
  • 技术积分: 1868
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-30 08:38
文章分类

全部博文(104)

文章存档

2013年(1)

2012年(9)

2011年(41)

2010年(3)

2009年(3)

2008年(47)

分类:

2008-04-16 17:32:29

后来弄明白了。主要是我自己从来没有玩过异步通信的东西,其实只要一句话就可以解决:
异步的东西,以libasync为例,你的代码的可达控制流所做的所有的事情都是初始化————初始化数据结构,注册所有的回调函数,初始化链接,分配空间等等————任何涉及到通信的库函数的调用都是立刻返回的,而不会有任何实际效果(我就是假设某个回调函数被调用了导致的问题)。最后,你的程序的控制流应该到达一个类似amain()函数的地方。所有有意义的事情都在这个函数里发生。(amain函数不会返回,只是等待某个回调函数依赖的条件发生,回调那个指定的函数,之后继续等待...所以,如果你想退出程序,需要在某个合适的回调函数里使用exit(0)之类的东西)。
阅读(1170) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~