erlang语言实现socket聊天室
关键词
erlang
socket
erlang语言是函数式编程语言,由Erlang之父Joe Amstrong编写出erlang原型,并在爱立信公司得到大规模应用,进而在通信行业有了一席之地,其优势在于高并发性、容错、高性能。
socket是实现数据交互的最普遍的方式,Erlang/OTP中也融合了tcp协议,并通过OTP中的库简单的编程就能实现服务端、客户端的通信,现在我们自己来实现编写服务器和客户端。
什么都不多说了,先上菜再解释
- 服务器端
-module (server).
-export ([start/0]).
-define (tcp_opts, [binary, {active,true}, {packet, 0},{reuseaddr, true}]).
%% 宏定义,当代码读到?errorlog,会用io:format("errorlog point")代替
-define (errorlog, io:format("errorlog point~n")).
start() ->
start(8888).
start(Port) ->
{ok,