solaro
V2EX  ›  PHP

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

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

    好奇。。。从未用过

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

    参考:

    https://github.com/amphp

    https://github.com/reactphp

    https://github.com/hoaproject


    ------

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

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

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

    这种东西能说一大堆。

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


    --------
    说个小故事,之前用 php 写一个推送的 deamon 程序,发现内存泄漏非常严重,排查了很久发现是 个推(不是打广告啊。。。)使用了一个 pb 类库,但是使用姿势有问题导致的。跟他们开发沟通。。。他们似乎。。不在意?不理解? 反正就没有后续了。
    lookas2001
    lookas2001
    Feb 20, 2018 via Android
    16
    pocketmine
    Minecraft Bedrock 非官方服务器
    MeteorCat
    MeteorCat
    Feb 20, 2018 via Android
    17
    @sagaxu 不是游戏服务端,说的是游戏后台
    javq
    javq
    Feb 20, 2018
    18
    聊天室,消息推送,代&理,数据转发,游戏服务器等等
    lslqtz
    lslqtz
    Feb 20, 2018
    19
    发 UDP 用过,其它的几乎不想用。
    因为会有等待时间。。
    异步当我没说
    lazypu
    lazypu
    Feb 22, 2018
    20
    做过消息推送.
    owenliang
    owenliang
    Feb 22, 2018
    21
    短链接后端 c/c++等高性能服务。
    puritania
    puritania
    Feb 27, 2018
    22
    个人觉得短连接的 socket 还不如老老实实用 http 了,之前用 swoole 做过 apns 推送长连苹果的服务器。
    kenan2677
    kenan2677
    Mar 2, 2018 via iPhone
    23
    @MeteorCat 舅扶你
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4493 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 06:38 · PVG 14:38 · LAX 22:38 · JFK 01:38
    ♥ Do have faith in what you're doing.