一个项目的开发可能涉及若干种语言,前端、后端、后台都有不同的适合的语言,比如在游戏中,前端用C+Lua
,后端用Erlang
,后台用PHP
,不同语言直接的通信就成了一个比较棘手的问题,下面简单讨论几组可能的实现方式:
Socket
基于自定义协议的Socket请求
前端(或者后台)与后端约定好协议格式,以协议的方式通信。
基于HTTP的请求
后端架设一个HTTP服务器,前端(或者后台)通过HTTP请求将需要执行的命令以参数的形式传递给后端。
SSH
Erlang开启SSH服务器,前端(或者后台)通过插件SSH登录到Erlang服务器,执行命令。
1 | Eshell V5.10.4 (abort with ^G) |
1 | [root@localhost ~]# sshpass -p 123456 ssh -p 10000 root@127.0.0.1 'lists:seq(1, 10).' |