php 如何用如下形式的报文与远程服务器进行通信 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ssxzcb
V2EX    PHP

php 如何用如下形式的报文与远程服务器进行通信

  •  
  •   ssxzcb 2016-09-23 14:48:56 +08:00 3448 次点击
    这是一个创建于 3375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    21 条回复    2016-09-24 15:22:53 +08:00
    gouchaoer
        1
    gouchaoer  
       2016-09-23 14:53:21 +08:00   1
    这是要求双工通信, websocket 吧。。。。
    liuxu
        2
    liuxu  
       2016-09-23 15:39:01 +08:00   1
    base_convert() 函数在任意进制之间转换数字。
    base_convert(number,frombase,tobase)
    参数 描述
    number 必需。原始值。
    frombase 必需。数字原来的进制。
    tobase 必需。要转换的进制。
    liuxu
        3
    liuxu  
       2016-09-23 15:46:13 +08:00   1
    貌似我打错了, php 貌似只能是 http 请求吧,建立在 tcp/ip 上,底层它控制不了
    micookie
        4
    micookie  
       2016-09-23 15:48:51 +08:00   1
    http://www.php.net/manual/zh/function.fsockopen.php

    看下这个 fsockopen ,以前用这个做过 telnet
    Jakesoft
        5
    Jakesoft  
       2016-09-23 15:52:18 +08:00   1
    @liuxu 那说明你还没有把 php 用到极致
    liuxu
        6
    liuxu  
       2016-09-23 15:58:47 +08:00   1
    @Jakesoft

    我想起了,以前用 php 做过 socket 编程。。太久忘记了。。
    millken
        7
    millken  
       2016-09-23 16:01:29 +08:00   1
    substr,pack,unpack
    ssxzcb
        8
    ssxzcb  
    OP
       2016-09-23 16:19:26 +08:00
    @millken 有没有相应的 demo 我参考下呢
    feiyuanqiu
        9
    feiyuanqiu  
       2016-09-23 16:32:24 +08:00   1
    这个报文可以用 pack 函数构建, 用 unpack 解析
    wesley
        10
    wesley  
       2016-09-23 16:37:29 +08:00   1
    socket +字符串函数就行, pack/unpack 都不需要
    feiyuanqiu
        11
    feiyuanqiu  
       2016-09-23 16:52:07 +08:00   1
    看错了...字节看成位了
    npc0der
        12
    npc0der  
       2016-09-23 16:57:57 +08:00   1
    bombless
        13
    bombless  
       2016-09-23 17:00:24 +08:00   1
    pack 和 unpack 还是必要的,方便一些。
    php 建立套接字挺方便的(实际上,都差不多, 233
    cover
        14
    cover  
       2016-09-23 17:06:49 +08:00   1
    23333 ,我觉得写个 java 程序后台跑。。。
    gouchaoer
        15
    gouchaoer  
       2016-09-23 17:16:19 +08:00 via Android   1
    workerman 和 swoole 都内置了 websocket
    zhs227
        16
    zhs227  
       2016-09-23 17:31:22 +08:00   1
    pack 和 unpack 编解码。还需要一个异步 socket 框架,用命令行模式跑。楼上说的是两种常见的
    AbrahamGreyson
        17
    AbrahamGreyson  
       2016-09-23 17:37:18 +08:00   1
    文件里并没有说要要进行双工通信,看起来更像是异步的。
    PHP 发请求直接 CURL 发呀,字节数就是字符数,根本没有任何技术障碍。
    realpg
        18
    realpg  
    PRO
       2016-09-23 18:56:41 +08:00   1
    socket 扩展, fsocksopen
    wdlth
        19
    wdlth  
       2016-09-23 21:21:58 +08:00   1
    我又想起了 APNS 推送那个蛋疼的数据结构……
    byteli
        20
    byteli  
       2016-09-23 21:24:02 +08:00   1
    就是 socket 编程那一套,可以在 tcp 的基础上自己实现这个协议,如果想使用框架可以考虑 swoole
    dawniii
        21
    dawniii  
       2016-09-24 15:22:53 +08:00   1
    按文档给的协议格式把数据用 pack 打包,然后连接 socket 发送就行了。
    请求 socket 的方法自己写也行,用 workerman 也不错。如果需要接收对方数据的服务端的话。用 workerman 起一个也很方便。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1576 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 16:16 PVG 00:16 LAX 08:16 JFK 11:16
    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