noah1987
V2EX  ›  问与答

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

  •  
  •   noah1987 · Jan 20, 2015 · 4112 views
    This topic created in 4314 days ago, the information mentioned may be changed or developed.

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

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

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

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