ANY WAY, IF YOU WANT TO GO FAR, ALWAYS MEET MANY DIFFICULTIES.

每一个不曾起舞的日子都是对生命的辜负。

Erlang:Supervisor

supervisor可以监控进程以防止僵尸进程并防止内存泄漏。另外,在监督下的应用程序的终止处理可以按正常顺序执行。关闭顶级监控程序会将终止处理传播到其子进程。因此,进程监视树需要以下元素: 监控其他下级监控树和进程 进程总是在监督下使用 重启子进程的策略 防止无限期重启 指定依赖项 监控功能init/1: init/1 返回值为 1{ ok , {{ RestartStrategy

Read More...


在erlang中,字符串是整数列表。因为它们是整数,所以它们可以存储任何unicode字符。 当想要连接2个字符串时,可以使用 如下string:concat/2实现: lib/stdlib/src/string.erl %% concat(String1, String2)%% Concatenate 2 strings.-spec concat(String1, String2) -> String3 wh

Read More...


Go:tcp_server

func main() {service := ":8082"tcpAddr, err := net.ResolveTCPAddr("tcp4", service)checkError(err)listener, err := net.ListenTCP("tc

Read More...


单一原则单个赋值意味着一旦将值赋给变量,就不能将其他值赋给同一个变量。 > X = 1.12> X = 2.** exception error: no match of right hand side value 2 在第一步中,Erlang尝试模式匹配X值1。因为X是未绑定的,它将绑定到该值1。从现在开始,当模式匹配运算符X的左侧是时=,将发生正常的模式匹配。这就是为什么我们在第二步中出现错误的原因 - Er

Read More...


关于ErlangErlang是一门函数式编程语言。Erlang是瑞典电话公司爱立信于1987年左右开发的一种功能语言。Erlang以来自丹麦的数学家,统计学家和工程师Agner Krarup Erlang命名。Erlang也是一个国际单位(缩写为Erl),表示通信中的数据流量(流量)。 Erlang的功能如下: 功能类型 单一替代 模式匹配 动态类型 过程 容错 单一替代Erlang变量只能分配一次。尝试多次分配给同一个变量将导致错

Read More...


Java:文件上传

定义文件路径和缓冲路径: public static final String FILE_PATH = "D:/TEST";public static final String FILE_IO_PATH = "D:/TEST_IO"; 定义允许上传的文件扩展名: 1private String Ext_Name = "doc,txt,sh,json,zip,exe,jar"

Read More...


1.需求分析 如图所示,此方法移动校验需要客服端同步服务端数据,服务端需每一timer(‘timer’需后续商讨)去检查游戏玩家位置,每几个(‘几个’后续商讨)timer去推送玩家数据给在场的所有玩家,对于客服端发送的包,需得到服务端时间间隔、位置判断、技能判断等进行校验进而处理。 2.服务端校验 定时校验:每一个timer对玩家进行位置合法性进行判断,刷新出新的坐标点。 定时推送:每几个timer推送每个玩家新坐标点给此游戏场景所有人

Read More...


1.宏观流程 客服端通过GateServer(利用gen_tcp握手)与之连接,从而实现所谓的登陆(注册),再初始化DB相关数据,处理一系列的连接消息,得到新的state,当tcp close时(或者相关pid down),加载新的state到DB。 2. C - S设计 3.链接管理器设计链接器(sys_conn)其实是实际逻辑服务器与客服端之间的桥梁和管道,作用是管理集群中所有的来自client的链接,将从客服端收到的消息转发到对应

Read More...


不骄不躁 永不停歇