手游开发中网络通信使用长连接还是短连接比较好的手游模拟器

socket中的长连接和短连接浅析 - Dingo - CSDN博客
socket中的长连接和短连接浅析
socket中的长连接和短连接
长连接和短连接
当网络通信时采用TCP协议时,需在通信双方间建立连接,当读写操作完成后不再需要这个连接时就可以释放这个连接。
所谓的短连接就是通信双方建立一个TCP连接,完成数据传送后即断开此连接。
长连接是针对短链接而言,也就是长时间保持通信双方的连接状态,即在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果在一段时间内没有数据包发送,则需要通信双方发检测包(心跳包)以维持此连接。
短连接操作步骤通常是:
建立连接→数据传输→关闭连接;
而长连接通常是:
建立连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接;
区别与用途
短连接一般用于点对多,高连接量的情况,比如HTTP服务等。因为对于Web这种有高访问量高并发的服务器而言,如果对每个用户都维护一个长连接的话,这对服务器是一个不可承担的压力,所以当并发量大但客户无需频繁操作的情况下可以采用短连接,这样管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段来维持连接。
通信的双方的TCP连接的建立是需要三次握手,释放则需要四次挥手,可见每次连接的建立都是需要消耗系统资源和时间的,所以对于需要操作频繁,点对点的通讯,而且连接数不能太多的情况通常会选择采用长连接。因为如果每次操作都要建立连接然后再操作的话处理速度会降低,所以每次操作下次操作时直接发送数据就可以了,不用再建立TCP连接。
例如:对于数据库的连接一般采用长连接,因为频繁的短连接通信容易造成socket错误,socket的频繁创建也是对资源的浪费。但是对于长连接而言,其TCP连接不会被客户端主动关闭,如果随着客户端接入数量增大,服务器负载压力就会不断增大,这时也需要服务器端采取策略来对一些”僵死“连接进行关闭或者限制最大接入长连接数,以此来防止服务器压力过大而崩溃。
长连接和短连接区别在于通信双方对于连接采取的关闭策略,没有十全十美的方案,所以选择时还应该根据具体运用场景因地制宜才是。
我的热门文章查看: 2388|回复: 5
求教关于手游长短连接的问题
阅读权限100
在线时间 小时
本帖最后由 kkwgsn 于
09:48 编辑
我我我我我我我我我我我我我我我我我我我我我我我我我
阅读权限120
在线时间 小时
http 服务器主动下发的数据你怎么处理?&&你也是做端游的, 问的好奇怪.&&轮询你觉得效率就高了吗
阅读权限100
在线时间 小时
本帖最后由 kkwgsn 于
09:48 编辑
我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我
阅读权限120
在线时间 小时
&长连接撑死了一台服务器最多65535吧&: 还想怎样?&&
&要是用http那他的并发可以说没限制&:既然是基于twist 作为一个已经可以支持更多 自然不会放弃tcp 而去用http了. 实时性高一些也没啥不好的.& &性价比哪个好?你自己想想
对于ios 推送, 苹果从来也没保证过100% 送达.
你现在的项目协议就全都是udp的啊. 除非是改良过的.
我觉得奇怪是 什么端游手游 有那么大区别吗. 只不过webgame&&不都是实时性要求很高的. 多采用http协议了. 这个你应该能理解.&&
你要不是说效率高的意思&&干嘛老想着http呢//& &&&闭啥嘴啊&&讨论就讨论不就完了.
大家火气都小点:)非常感谢您为firefly伸手帮助回答问题:)&
阅读权限255
在线时间 小时
kkwgsn 发表于
不知道你说的奇怪是怎么个奇怪,你要是讲问题,麻烦讲的清楚点,不然我会觉得很奇怪。主动下发的数据怎 ...
我们用长链接是因为我们不是为了一款卡牌而诞生的框架,我们还有rpg、arpg等产品要开源,我们的技术储备在tcp,不会为了一个3周作出的卡牌而更换形式,或许http可以做卡牌,不过的确不能说比socket更适合卡牌,还是看开发者喜欢并熟悉哪个。自己熟悉的,就是最好的。:)
阅读权限50
在线时间 小时
有争论是好事,天气热啊
特别声明(务必查看!)
1、HTML5 幽灵猫大冒险
cocos2d-x C++ 版本 48款游戏集合, 吐血共享
特别声明(务必查看!)
1、Unity3D TopDown游
特别声明(务必查看!)
1、HTML5 Dual Swess游
特别声明(务必查看!切!切!切!)
| 联系方式
COPYRIGHT(C)2015 ZHONGQINGLONGTU NETWORK CO.LTD ALL RIGHTS RESERVED.ICP备号-4
北京中清龙图网络技术有限公司24被浏览2477分享邀请回答6添加评论分享收藏感谢收起11 条评论分享收藏感谢收起写回答用SOCKET通信时一般什么时候用长连接,什么时候用短连接-CSDN论坛
用SOCKET通信时一般什么时候用长连接,什么时候用短连接
长连接是不是就是一直保持连接,发送接受数据.
短连接就是发送好后断开.
两种方式有什么优缺点吗?
如果程序需要不定时的传送数据,并且有可能出现传送忙时,就采用长连接;反之采用短连接
一切从应用出发,理论可以列出一堆!
只要你应用中遇到了,只要你不笨,想象就知道了
如果你的程序发包频率很高,可以考虑用长连接
如果你的程序客户端很少,可以考虑用长连接,否则相反
如果通信线路不稳定,多用短连接
局域网多用长连接,广域网多有短连接
长连接的话对服务器端的程序要求比较高
如果有很多个客户端的话,每个客户端都和服务器端长连接就会占用服务器端的很多资源
短连接的话由于每次都要和服务器端建立连接
所以通讯起来如果发包频率高的话就会影响速度
回复手游开发中网络通信使用长连接还是短连接比较好_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
手游开发中网络通信使用长连接还是短连接比较好
我有更好的答案
短连接在没有数据传输时直接关闭就行了什么时候用长连接,短连接?长连接主要用于在少数客户端与服务端的频繁通信,也就是长时间保持客户端与服务端的连接状态。通常的短连接操作步骤是:连接-》数据传输-》关闭连接其实长连接是相对于通常的短连接而说的;这就要求长连接在没有数据通信时,并且频繁创建Socket连接也是对资源的浪费。但是对于服务端来说,长连接也会耗费一定的资源,定时发送数据包;而长连接通常就是:连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接,以维持连接状态,因为这时候如果用短连接频繁通信常会发生Socket出错,需要专门的线程(unix下可以用进程管理)来负责维护连接状态。总之
采纳率:91%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包}

我要回帖

更多关于 棋牌手游网络通信 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信