PHP socket 你们都用在什么场景上? - V2EX
solaro
V2EX    PHP

PHP socket 你们都用在什么场景上?

  •  
  •   solaro Feb 19, 2018 6934 views
    This topic created in 3010 days ago, the information mentioned may be changed or developed.

    好奇。。。从未用过

    23 replies    2018-03-02 06:57:45 +08:00
    UnixCRoot
        1
    UnixCRoot  
       Feb 19, 2018 via Android
    端口数据转发 构造自定义数据包
    shiny
        2
    shiny  
    PRO
       Feb 19, 2018
    以前见得多的是 smtp 发信,以及 DDoS 木马。
    minbaby
        3
    minbaby  
       Feb 19, 2018   1
    github 上这个东西其实蛮多的,只不过国内的都觉得 php 的 socket 不适合生产环境,所以各方面都挺少的。
    国内的话 swoole (c 扩展) 和 workerman ( PHPsocket )。

    参考:

    https://github.com/amphp

    https://github.com/reactphp

    https://github.com/hoaproject


    ------

    多关注过一些类库或者项目依赖的,会发现新世界的。(^)
    jtsai
        4
    jtsai  
       Feb 19, 2018 via Android
    两台设备没有 http 服务器做通信的时候就用。php 很尴尬,自带 http
    zjsxwc
        5
    zjsxwc  
       Feb 19, 2018 via Android
    websocket 和 js 通讯吧
    dobelee
        6
    dobelee  
       Feb 19, 2018 via Android   1
    看看 swoole 的用景就比清晰了。
    xoxo419
        7
    xoxo419  
       Feb 19, 2018   1
    workerman
    Sylphiette
        8
    Sylphiette  
       Feb 19, 2018 via iPhone
    @zjsxwc websocket 和 socket 的名字就像 java 和 Javascript。不是一个概念
    jacy
        9
    jacy  
       Feb 19, 2018 via Android
    模拟 srun3000
    components
        10
    components  
       Feb 19, 2018
    https://github.com/weiboad/kafka-php
    https://github.com/nrk/predis
    期待 php 的 socket 更加强大,生态更加完善
    components
        11
    components  
       Feb 19, 2018
    zjsxwc
        12
    zjsxwc  
       Feb 19, 2018
    @Heimo

    websocket 和 socket 的名字是 groovy 与 jvm 的关系
    MeteorCat
        13
    MeteorCat  
       Feb 19, 2018 via Android
    以前页游后台(没错就是网页游戏,渣渣辉这种)使用比较多,以前都是 PHP 用 socket 请求游戏服务端获取数据或者更新游戏服务端配置
    sagaxu
        14
    sagaxu  
       Feb 20, 2018 via Android   1
    @minbaby php socket 为何不适合生产环境?
    @MeteorCat 页游各种技术栈后台都有,有一套 erlang 代码被改出很多个游戏来
    @jtsai http 协议的解析开销比较大
    minbaby
        15
    minbaby  
       Feb 20, 2018   1
    @sagaxu 你可以认为 php 这门语言出现就是为了搞定 web,后来发展起来之后才出现了 socket 绑定,也仅仅是有 socket 绑定。

    说一些劣势:
    一是没有成熟的 socket 框架(说的是之前,现在还是蛮多的)
    二是搞 php 的对网络编程的熟悉人比较少
    三是 php 对于多进程、线程支持也不好,要不是最近 ev/uv 火起来的话,怎么使用 socket ?
    四是类库参差不齐啊,鬼知道有没有内存泄漏,在 web 上很难察觉,毕竟是不用常驻内存。

    这种东西能说一大堆。

    给人的直观感觉就是不敢用啊,还不是上 python、ruby、go、java。。。放心。


    --------
    说个小故事,之前用 php 写一个推送的 deamon 程序,发现内存泄漏非常严重,排查了很久发现是 个推(不是打广告啊。。。)使用了一个 pb 类库,但是使用姿势有问题导致的。跟他们开发沟通。。。他们似乎。。不在意?不理解? 反正就没有后续了。
    lookas2001
        16
    lookas2001  
       Feb 20, 2018 via Android
    pocketmine
    Minecraft Bedrock 非官方服务器
    MeteorCat
        17
    MeteorCat  
       Feb 20, 2018 via Android
    @sagaxu 不是游戏服务端,说的是游戏后台
    javq
        18
    javq  
       Feb 20, 2018
    聊天室,消息推送,代&理,数据转发,游戏服务器等等
    lslqtz
        19
    lslqtz  
       Feb 20, 2018
    发 UDP 用过,其它的几乎不想用。
    因为会有等待时间。。
    异步当我没说
    lazypu
        20
    lazypu  
       Feb 22, 2018
    做过消息推送.
    owenliang
        21
    owenliang  
       Feb 22, 2018
    短链接后端 c/c++等高性能服务。
    puritania
    &nbp;   22
    puritania  
       Feb 27, 2018
    个人觉得短连接的 socket 还不如老老实实用 http 了,之前用 swoole 做过 apns 推送长连苹果的服务器。
    kenan2677
        23
    kenan2677  
       Mar 2, 2018 via iPhone
    @MeteorCat 舅扶你
    About     Help     Advertise     Blog     API     FAQ     Solana     2929 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 67ms UTC 13:09 PVG 21:09 LAX 06:09 JFK 09:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86