【发布时间】:2011-06-20 23:39:14
【问题描述】:
在另一个问题中,我为某个目的询问了“最佳”语言。意识到这个目标有点过头了,我简化了我的想法 :) 但是有非常有用的语言提示。所以我决定将 Scala 用于桌面应用程序,并在 Web 服务器上考虑 Perl 和 Python。
我想编写一些类似异步聊天的程序(有点像电子邮件)。所以你开始你的程序选择你的名字并添加一个具有他唯一 ID 的朋友。然后你可以给他写一条简单的消息,当你的朋友启动他的电脑时,启动“chat.exe”他会收到邮件(需要互联网)并且能够回答。没有特殊功能、笑脸或文本格式,只是为了学习目的而简单。
我的概念是:将 Scala 用于“chat.exe”(或者只是一个“chat.jar”可能?),它通过 SOCKET 与处理请求的 Perl/Python 框架进行通信。 所以你输入“Hello there”并点击发送。此消息通过 SOCKET 传输到 Perl/Python 脚本,该脚本读取请求并将此消息放入 MySQL 数据库。另一方面,您朋友的 chat.exe 会检查新消息,如果有,Perl/Python 脚本会传输消息。也可以通过 SOCKET。
你认为这行得通吗? SOCKET 是否合适且适合?或者也许是 REST?但我认为对于 REST 请求,您必须使用 URI (http://example.com/newmessage/user2/user3/Hi_how_are_you)。这看起来很不安全。
期待你们的cmets!
祝你有美好的一天,
库尔特
【问题讨论】:
-
您不需要将 URI 用于 REST 请求的内容,例如您可以 POST
{"sender":"user2","recipient":"user3","message":"Hi how are you"}到 example.com/newmessage -
我认为,如果你改变你的语言选择,你可能会取得更大的成功:Scala 用于服务器,Python 用于桌面应用程序。话虽如此,您可以轻松地同时使用 Scala(或任何体面的语言)。但是,坦率地说,你的问题相当模糊,很难给出任何权威的答案。
-
为什么要使用三种语言和低级沟通渠道?
-
“需要互联网”?这是什么意思?为什么会在这里?
-
@Andrew:谢谢,我仔细看看这个! @pr1001:好的,谢谢。但我不确定我是否可以编译一个独立的 python 程序(py2exe 和 pyinstaller 看起来很不成熟)@Raphel:你会推荐什么,我感谢改进! @S.Lott 因为否则桌面应用程序无法接收来自服务器的消息
标签: python perl sockets scala client-server