PHP socket 你们都用在什么场景上? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
solaro
V2EX    PHP

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

  •  
  •   solaro 2018-02-19 15:41:24 +08:00 6573 次点击
    这是一个创建于 2819 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好奇。。。从未用过

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

    参考:

    https://github.com/amphp

    https://github.com/reactphp

    https://github.com/hoaproject


    ------

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

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

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

    这种东西能说一大堆。

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


    --------
    说个小故事,之前用 php 写一个推送的 deamon 程序,发现内存泄漏非常严重,排查了很久发现是 个推(不是打广告啊。。。)使用了一个 pb 类库,但是使用姿势有问题导致的。跟他们开发沟通。。。他们似乎。。不在意?不理解? 反正就没有后续了。
    lookas2001
        16
    lookas2001  
       2018-02-20 14:28:53 +08:00 via Android
    pocketmine
    Minecraft Bedrock 非官方服务器
    MeteorCat
        17
    MeteorCat  
       2018-02-20 18:36:54 +08:00 via Android
    @sagaxu 不是游戏服务端,说的是游戏后台
    javq
        18
    javq  
       2018-02-20 21:17:02 +08:00
    聊天室,消息推送,代&理,数据转发,游戏服务器等等
    lslqtz
        19
    lslqtz  
       2018-02-20 21:23:47 +08:00
    发 UDP 用过,其它的几乎不想用。
    因为会有等待时间。。
    异步当我没说
    linxl
        20
    linxl  
       2018-02-22 09:48:51 +08:00
    做过消息推送.
    owenliang
        21
    owenliang  
       2018-02-22 11:15:13 +08:00
    短链接后端 c/c++等高性能服务。
        22
    puritania  
       2018-02-27 10:18:14 +08:00
    个人觉得短连接的 socket 还不如老老实实用 http 了,之前用 swoole 做过 apns 推送长连苹果的服务器。
    kenan2677
        23
    kenan2677  
       2018-03-02 06:57:45 +08:00 via iPhone
    @MeteorCat 舅扶你
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1014 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 18:35 PVG 02:35 LAX 10:35 JFK 13:35
    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