关于网络编程中使用的close()函数

wuleeemail 2015-06-23 04:01:11
在网络编程中几乎都会使用close()函数。我有不理解的地方,特提出,希望明白之人能给点提醒,谢谢!
在网络中一旦双方连接上以后,应该说直到有一方主动或者被动断开,这时才会出现close()需求。但是我看到几乎所有的代码中在接收数据代码结束后都会加上close(),主动提出网络断开需求,然后第二次接收数据后还是这样。对于一些发送少量数据的程序来说也勉强能理解,但是有些程序接收的数据是大量的、不间断的,那么这时还使用这个close()有何意义呢?
...全文
261 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨笨仔 2015-06-23
  • 打赏
  • 举报
回复
你看到未必是全部,至少我的程序中就没有如你看的那样!
wuleeemail 2015-06-23
  • 打赏
  • 举报
回复
谢谢楼上的答复! 我对close()的理解其实和你的差不多。那么我们在软件设计时如果是面对的长时间、大数据量的传输通讯在接收数据的代码段里是无需使用close()的,只有主动的断开时才使用。另外,在每一次C/S双方链接以后都会生成一个套接字,这个套接字将伴随着这个链接整个生命周期,直到使用close()关闭套接字,然后第二次链接以后又产生一个新的套接字,直到再次close(),是吧?
孤客天涯 2015-06-23
  • 打赏
  • 举报
回复
几乎所有的代码中在接收数据代码结束后都会加上close()?你确定看到的代码都这样?这种设计本身就有问题。 一般C/S模式,C连接S后连接状态一直保持,直到程序退出或不再需要通讯时,如果发送频率很低,比如几小时或更行时间才发送一次数据,那你可以考虑用临时连接,发完就断开连接,下次要发数据时再重新连接也未常不可,但如果发送频率比较高,一般采用长连接方式,即连接后直到程序退出或不再通讯时才断开连接。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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