在基于非 -web的聊天系统上,服务器通过其PID区分其客户端,对吧?在基于网络的聊天系统中应该用什么来区分客户?
Thnx提前
答案 0 :(得分:4)
您使用Web服务器的事实不应该对您的模型有太大的改变。你还在建聊天。您也不希望让您的聊天过多地与管理其HTTP连接的过程相关联。 HTTP连接是短暂的,即使一切进展顺利,并且您正在使用长轮询,也无法保证连接将与Keep-Alive一起重新用于下一次长轮询。用户可能还想在多个浏览器窗口,多台计算机中打开相同的聊天。
我没有密切关注其中任何一个,但你不是第一个与Erlang建立网络聊天的人:
答案 1 :(得分:1)
我认为混淆来自Erlang服务器进程必须为每个客户端保持活跃的概念。它可以,但如果我没有弄错的话,Mochiweb默认不这样做。它只为每个请求生成一个新进程。如果您想拥有一个长寿命的双向客户端< - >服务器进程连接,你可以这样做,例如;
答案 2 :(得分:0)
对于使用websockets和Misultin的基于网络的聊天系统的非常简单示例,您可以查看此chat demo。它的目的是为了展示一个想法并且不是很优雅,但确实有效。