服务器中是保持TCP/IP连接还是随用随连?

findcsdn 2014-12-13 03:50:24

编写服务器的时候,总有一个疑问。

客户端和服务器连接的时候,总是保持一个连接,还是有数据需求的时候在连接,传输完数据就断开,类似WEB的访问模式。

保持连接的状态下,假如有一步出现不同步,就可能引起程序阻塞或者数据错误。
每次发起连接,即使出现某个错误,程序还有机会重新连接回到正确的流程上来。


不知道各位大侠一般都怎么处理网络编程的连接的,希望指点一二。



...全文
275 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨笨仔 2014-12-15
  • 打赏
  • 举报
回复
在终端数固定且数量有限的情况下,为了保证报警数据及时,还是保持连接好。TCP连接建立后底层会有“心跳”包,保持网络连接,如果出现异常会产生相应的事件,你只要在自己的程序中保证,当网络出现异常时能自动恢复连接就行了。
阿先森 2014-12-15
  • 打赏
  • 举报
回复
主从关系,建议使用TCP连接方式,可靠。 同级关系,建议使用UDP.
xian_wwq 2014-12-15
  • 打赏
  • 举报
回复
个人感觉这个需要看业务需求, 如果数据量较大,而且是长时间持续的,比如像数据采集应用, 保持连接比较好,不需要频繁的发起连接请求,效率较高。 如果业务都是短时间内完成,通讯持续时间短, 那还是随用随连比较好,对于Server的资源也是一种节约。 像报警类的,如果发送频率较高(秒级),要求响应及时,保持链路要好些吧。
oyljerry 2014-12-15
  • 打赏
  • 举报
回复
看你数据的要求以及业务模型,一般的都是发送的数据的时候就建立连接,发送数据。 长连接一般是websocket这种会使用
worldy 2014-12-13
  • 打赏
  • 举报
回复
如果必须出来数量不受限\随意发起的连接,那么使用随用随连接,用完就切断,如http 如果终端是比较有限且固定的,那么让其一直连接着,如dcom
findcsdn 2014-12-13
  • 打赏
  • 举报
回复
现在有一个项目,有许多报警前端用TCP/IP网络连接起来, 服务器读取前端的状态数据,如果异常就报警。 现在希望服务器能7*24小时运行,不知道用哪一种模式连接处理,程序才比较健壮,报警及时。

18,363

社区成员

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

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