mac下kqueue异步网络编程send操作,为什么要直到close对端才能收到消息?

如题,在mac下使用kqueue进行异步网络编程,send发送数据的时候,如果紧接着close掉对端,对端会立马收到数据,类似于操作flush了,不close,对端收不到数据,应该是缓冲区的问题?这该怎么处理呢?

另外顺便请教一下,kqueue这种异步的网络编程,如果需要手动close掉客户端,何时操作比较适合?避免引起内核抛出一些异常

代码有点长,这里就不贴出来了,见谅,放到了github,连接如下:
https://github.com/jilieryuyi...

阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题