V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
noah1987
V2EX  ›  问与答

没搞过服务器端编程的人,怎么在最短的时间内满足一个简单的需求?

  •  
  •   noah1987 · 2015-01-20 14:20:19 +08:00 · 3221 次点击
    这是一个创建于 3396 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人是码农,但不是互联网行业的。
    最近跟朋友的项目突然有个需求,希望能让客户端之间通过某种方式能进行简单的通信:
    客户端都在搞一件事情,然后报告下服务器,我是谁,我现在是否ok。客户端也随时在服务器那里查询大家ok的比例。
    客户端数量在300以内。平时不使用,大概几周用一次,每次在1分钟内服务器端一共需要查询上千次。
    就这么简单的事情。
    我要用什么语言和方式能把这件事情最快的搞定?java sevlet? 微博应用?还有人给我提到过消息中间件?

    第 1 条附言  ·  2015-01-20 15:54:57 +08:00
    客户端和服务器之间用url交换数据。我只需要负责服务器端,越简单越好
    34 条回复    2015-01-20 21:22:55 +08:00
    moliliang
        1
    moliliang  
       2015-01-20 14:50:00 +08:00
    php啊~
    moliliang
        2
    moliliang  
       2015-01-20 14:50:28 +08:00
    Rails啊, 都挺好的。。。rkidc.net 可以托管你的应用。
    noah1987
        3
    noah1987  
    OP
       2015-01-20 14:53:52 +08:00
    @moliliang 能多说几句么?
    有空打个电话吧,18916191987,给你咨询费,嘿嘿~
    yakczh
        4
    yakczh  
       2015-01-20 14:55:33 +08:00
    每次请求的数据量有多大? 1500字节 以下可以用udp
    noah1987
        5
    noah1987  
    OP
       2015-01-20 14:59:02 +08:00
    @yakczh 10个字节以下?就问下有多少ok。 udp可以。但我要用什么技术来实现这个呢?用什么语言和方法最简单,能最快的实现
    mhycy
        6
    mhycy  
       2015-01-20 15:04:23 +08:00
    服务端用python,如果你的客户端开Socket比开HTTP容易的话,Python是个挺不错的选择
    mhycy
        7
    mhycy  
       2015-01-20 15:08:00 +08:00
    不知道客户端具体都是做啥的,这个包也不知道是传递什么数据,客户端是个怎么样的状态,链路情况如何。用Socket实现的话简单方便来说的话Python可以了。UDP有丢包风险,对延迟不敏感的话TCP吧。
    yakczh
        8
    yakczh  
       2015-01-20 15:39:10 +08:00
    @noah1987 nodejs最简单 开发也快
    virusdefender
        9
    virusdefender  
       2015-01-20 15:49:21 +08:00
    django 吧~快速实现
    zado
        10
    zado  
       2015-01-20 15:56:02 +08:00
    你一般用的是什么语言啊?现在服务器框架什么语言的都用,说不定就有你当前使用的语言。
    noah1987
        11
    noah1987  
    OP
       2015-01-20 15:57:21 +08:00
    @mhycy 客户端和服务器端用http的url传递数据。传递些很简单的数据,比如,我是否ok,有多少其它客户端ok。对延迟很敏感,要求快速响应。几个星期用一分钟的突发性需求。客户端数量在300以内,一分钟内请求在3000以内,求建议。
    noah1987
        12
    noah1987  
    OP
       2015-01-20 15:57:36 +08:00
    @zado c...
    noah1987
        13
    noah1987  
    OP
       2015-01-20 15:59:30 +08:00
    @yakczh 新手,用nodejs 10小时能搞定么?买虚拟主机用这个语言方便么?
    noah1987
        14
    noah1987  
    OP
       2015-01-20 15:59:49 +08:00
    @virusdefender 新手,用django 10小时能搞定么?买虚拟主机用这个语言方便么?
    bittenbydog
        15
    bittenbydog  
       2015-01-20 16:02:34 +08:00
    @noah1987 DigitalOcean的VPS,貌似提供预装nodejs的映像,可以去看看
    046569
        16
    046569  
       2015-01-20 16:04:44 +08:00
    如果有 Ruby 经验的话,可以考虑用 Sinatra ,最适合LZ的场景,客户端和服务端开发都比较方便.但至少需要 VPS .
    mhycy
        17
    mhycy  
       2015-01-20 16:05:44 +08:00
    @noah1987 响应要求高的话总觉得socket开销会小一些,不知道你的客户端是什么类型的,是否为嵌入式产品,快速响应的要求是延迟多少时间,网络类型是无线还是有线,所以无法做出更多的判断。

    另外,如果是HTTP推荐PHP,Socket推荐Python,都是10小时内能学习上手出成品的。
    zado
        18
    zado  
       2015-01-20 16:07:20 +08:00
    c也可以编写服务端啊,学一下socket方面的知识就可以了,还有多线程的使用方法。
    hcymk2
        19
    hcymk2  
       2015-01-20 16:10:03 +08:00
    zado
        20
    zado  
       2015-01-20 16:10:28 +08:00
    用url交换数据的话,还要学一下HTTP协议。
    9hills
        21
    9hills  
       2015-01-20 16:19:03 +08:00
    用Flask,1天学会+搞定。

    我教过一个不会任何HTTP编程的同学,一天用Flask做出简单的API
    yakczh
        22
    yakczh  
       2015-01-20 16:21:00 +08:00
    @noah1987 外包出来吧
    virusdefender
        23
    virusdefender  
       2015-01-20 16:39:03 +08:00
    @noah1987 虚拟主机不行 但是可以用新浪云或者百度云 要是非得是虚拟主机的话,估计只能是 php .net 那些了~
    Comdex
        24
    Comdex  
       2015-01-20 16:52:37 +08:00
    直接上简单的java servlet吧可靠
    jatsz
        25
    jatsz  
       2015-01-20 16:57:35 +08:00
    如果是我的选择,我会选择Go。
    1,把QuickStart看完就能基本搞定 http://beego.me/quickstart
    2,在部署的时候没有依赖,直接拷贝二进制文件运行即可。
    noah1987
        26
    noah1987  
    OP
       2015-01-20 17:22:08 +08:00
    @9hills flask方便部署么?比如放在虚拟主机或者新浪云上
    noah1987
        27
    noah1987  
    OP
       2015-01-20 17:22:22 +08:00
    @jatsz thx,我看看
    noah1987
        28
    noah1987  
    OP
       2015-01-20 17:22:57 +08:00
    @zado 用c写很麻烦。。
    clino
        29
    clino  
       2015-01-20 17:31:40 +08:00
    看这个需求,如果web服务器可以用nginx,那么openresty应该是最快的吧,语言为lua
    9hills
        30
    9hills  
       2015-01-20 17:51:36 +08:00
    @noah1987 很方便。。。
    aksoft
        31
    aksoft  
       2015-01-20 18:41:14 +08:00
    PHP是世界上最好的语言。。。
    撸主会哪个那个快,哪个学习曲线平滑哪个快。。
    gongweixin
        32
    gongweixin  
       2015-01-20 18:47:59 +08:00
    既然没搞过服务端编程,那最快的方案就是不编程, http://www.bmob.cn/ 这个应该可以满足你,不过具体我也没细看,也没用过,只是听说有这么个东西,感觉符合你的要求。
    FindHao
        33
    FindHao  
       2015-01-20 19:00:54 +08:00 via Android
    python 的tornado,最轻量级的,比web.py django更简单,直接从sae上搭建就行。
    noah1987
        34
    noah1987  
    OP
       2015-01-20 21:22:55 +08:00
    @9hills 这玩意儿要先学python的!!正好用这个机会学学python吧。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1115 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 22:40 · PVG 06:40 · LAX 15:40 · JFK 18:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.