在开发一款游戏项目时,在立项时我们往往会考虑或者纠结很多,比如: 1,对于开发来说:服务端和客户端应该选择什么语言?用什么协议通信才更效率?协议后期如何维护?Socket是用长连接还是短连接?TCP还是UDP?客户端资源、配置表、代码如何进行热更新?等等。 2,对于策划来说:配置表使用什么比较方便? ...
分类:
编程语言 时间:
2018-09-29 13:09:29
阅读次数:
216
java socket编程中有个keepAlive选项,看到这个选项经常会误解为长连接,不设置则为短连接,实则不然。 socket连接建立之后,只要双方均未主动关闭连接,那这个连接就是会一直保持的,就是持久的连接。 其实这个选项的意思是TCP连接空闲时是否需要向对方发送探测包,实际上是依赖于底层的T ...
分类:
其他好文 时间:
2018-09-28 13:45:21
阅读次数:
236
一、长连接简介及使用 HTTP长连接:HTTP persistent connection ,也有翻译为持久连接,在HTTP1.1规定默认保持长连接,数据传输完成了保持TCP连接不断开(不会再发RST包、不会再进行四次握手),等待在同域名下继续用这个通道传输数据(与之相反的就是短连接)。 HTTP首 ...
分类:
Web程序 时间:
2018-09-27 11:19:59
阅读次数:
227
【问题现象】 项目遗留问题:项目一般用redis作为缓存,并发量突增时很容易出现TCP连接失败(无可用端口) 【问题分析】 根据错误日志,排查出是连接数达到了最大值,(其实通过 netstat -anp|grep TIME_WAIT|wc -l也可以初略统计出当前的连接数),导致redis缓存无法使 ...
分类:
其他好文 时间:
2018-09-25 14:05:42
阅读次数:
1023
1、优化内核及TCP连接: fs.file max = 655350 系统文件描述符总量 net.ipv4.ip_local_port_range = 1024 65535 打开端口范围 net.ipv4.tcp_max_tw_buckets = 2000 设置tcp连接时TIME_WAIT个数 n ...
分类:
其他好文 时间:
2018-09-22 12:26:11
阅读次数:
233
TCP三次握手过程中的服务端和客户端的各种状态: TCP四次握手释放过程中的主动关闭端和被动关闭端的各种状态: 下图的两端可以是服务端也可以是客户端。 四次握手释放过程中,主动关闭这一端会处于TIME_WAIT,被动关闭这一端会马上处于CLOSE状态,处于TIME_WAIT的一端要等几十秒后会才会到 ...
分类:
其他好文 时间:
2018-09-22 00:46:15
阅读次数:
276
一、Python语法以及其他基础部分: 1.可变与不可变类型 2.浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现 3.new()与init()的区别 4.你知道几种设计模式 5.编码与解码你了解过吗 6.列表推导式list comprehension和生成器的优劣 7.什么是 ...
分类:
编程语言 时间:
2018-09-20 21:54:14
阅读次数:
257
todo 长连接和短连接 http://www.cnblogs.com/0201zcr/p/4694945.html websocket 常链接 https://www.cnblogs.com/carl10086/p/6188808.html ...
分类:
Web程序 时间:
2018-09-19 21:49:45
阅读次数:
214
前面已经讲过,在使用locust直连后端服务器时,可以通过设置HTTP头部为keep-alive,并在客户端断开连接,减少服务器的连接压力。因为由客户端断开连接,客户端的连接会变为TIME_WAIT状态,从而有效的节省了服务器的资源。 但通常,我们的服务器并不是简单的一个服务器端程序,一般还会有ca ...
分类:
其他好文 时间:
2018-09-16 22:28:45
阅读次数:
283
Web客户端与服务器之间基于Ajax(http)的常用通信方式,分为短连接与长轮询。 短连接:客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。 在长轮询机制中,客户端像传统轮询一样从服务器请求数据。然而,如果服务器没有可以立即返回给客户端的数据,则不会立刻返回一个空结果, ...
分类:
Web程序 时间:
2018-09-13 13:59:36
阅读次数:
1034