pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <small id='Fwe4L'></small><noframes id='Fwe4L'>

    1. <tfoot id='Fwe4L'></tfoot>
    2. <legend id='Fwe4L'><style id='Fwe4L'><dir id='Fwe4L'><q id='Fwe4L'></q></dir></style></legend>
      <i id='Fwe4L'><tr id='Fwe4L'><dt id='Fwe4L'><q id='Fwe4L'><span id='Fwe4L'><b id='Fwe4L'><form id='Fwe4L'><ins id='Fwe4L'></ins><ul id='Fwe4L'></ul><sub id='Fwe4L'></sub></form><legend id='Fwe4L'></legend><bdo id='Fwe4L'><pre id='Fwe4L'><center id='Fwe4L'></center></pre></bdo></b><th id='Fwe4L'></th></span></q></dt></tr></i><div class="j7jbvzn" id='Fwe4L'><tfoot id='Fwe4L'></tfoot><dl id='Fwe4L'><fieldset id='Fwe4L'></fieldset></dl></div>

        <bdo id='Fwe4L'></bdo><ul id='Fwe4L'></ul>

      如何使用 WebSocket 從 PHP 發(fā)送數(shù)據(jù)/文本進行處理

      How can I send data/text from PHP using WebSocket to process?(如何使用 WebSocket 從 PHP 發(fā)送數(shù)據(jù)/文本進行處理?)
          <tbody id='qRKTt'></tbody>
        • <bdo id='qRKTt'></bdo><ul id='qRKTt'></ul>

              <small id='qRKTt'></small><noframes id='qRKTt'>

            • <legend id='qRKTt'><style id='qRKTt'><dir id='qRKTt'><q id='qRKTt'></q></dir></style></legend>

              1. <tfoot id='qRKTt'></tfoot>

              2. <i id='qRKTt'><tr id='qRKTt'><dt id='qRKTt'><q id='qRKTt'><span id='qRKTt'><b id='qRKTt'><form id='qRKTt'><ins id='qRKTt'></ins><ul id='qRKTt'></ul><sub id='qRKTt'></sub></form><legend id='qRKTt'></legend><bdo id='qRKTt'><pre id='qRKTt'><center id='qRKTt'></center></pre></bdo></b><th id='qRKTt'></th></span></q></dt></tr></i><div class="ovgtac3" id='qRKTt'><tfoot id='qRKTt'></tfoot><dl id='qRKTt'><fieldset id='qRKTt'></fieldset></dl></div>
                本文介紹了如何使用 WebSocket 從 PHP 發(fā)送數(shù)據(jù)/文本進行處理?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                我在充當 WebSocket 服務器的服務器上有進程(不是用 Ratchet 編寫的).我希望能夠使用 PHP(作為客戶端)向該進程發(fā)送數(shù)據(jù).

                I have process on server which acts as WebSocket server (not written in Ratchet). I want to be able to send data to this process using PHP (as client).

                我發(fā)現(xiàn)了很多像這樣作為 TCP 發(fā)送的示例:

                I found a lot of examples to send as TCP like this:

                <?php
                  $addr = gethostbyname("localhost");
                
                  $client = stream_socket_client("tcp://$addr:8887", $errno, $errorMessage);
                
                  if ($client === false) {
                      throw new UnexpectedValueException("Failed to connect: $errorMessage");
                  }
                
                  fwrite($client, "GET / HTTP/1.0
                Host: localhost
                Accept: */*
                
                ");
                  echo stream_get_contents($client);
                ?>
                

                我只需要向進程發(fā)送消息并關閉連接即可.我期望的結果是 webSocket 的結果稍后會打印或回顯"到 PHP 頁面.

                All I need I to send message to the process and close the connection. The result that I expect is the result from the webSocket will be later printed or "echo" to the PHP page.

                有沒有辦法讓它在 php 中與 curl 一起工作?

                Is there a way to make it work with curl in php?

                推薦答案

                我在 github 上找到了這段代碼,(我找不到我從哪里得到它的確切 repo,因為我已經(jīng)查看并嘗試了很多)

                I have found this code on github, (I can't find the exact repo where I got it from because I have looked and tried a lot of them)

                <?php
                class WebsocketClient {
                
                    private $_Socket = null;
                
                    public function __construct($host, $port) {
                        $this->_connect($host, $port);
                    }
                
                    public function __destruct() {
                        $this->_disconnect();
                    }
                
                    public function sendData($data) {
                        // send actual data:
                        fwrite($this->_Socket, "x00" . $data . "xff") or die('Error:' . $errno . ':' . $errstr);
                        $wsData = fread($this->_Socket, 2000);
                        $retData = trim($wsData, "x00xff");
                        return $retData;
                    }
                
                    private function _connect($host, $port) {
                        $key1 = $this->_generateRandomString(32);
                        $key2 = $this->_generateRandomString(32);
                        $key3 = $this->_generateRandomString(8, false, true);
                
                        $header = "GET /echo HTTP/1.1
                ";
                        $header.= "Upgrade: WebSocket
                ";
                        $header.= "Connection: Upgrade
                ";
                        $header.= "Host: " . $host . ":" . $port . "
                ";
                        $header.= "Origin: http://localhost
                ";
                        $header.= "Sec-WebSocket-Key1: " . $key1 . "
                ";
                        $header.= "Sec-WebSocket-Key2: " . $key2 . "
                ";
                        $header.= "
                ";
                        $header.= $key3;
                
                
                        $this->_Socket = fsockopen($host, $port, $errno, $errstr, 2);
                        fwrite($this->_Socket, $header) or die('Error: ' . $errno . ':' . $errstr);
                        $response = fread($this->_Socket, 2000);
                
                        /**
                         * @todo: check response here. Currently not implemented cause "2 key handshake" is already deprecated.
                         * See: http://en.wikipedia.org/wiki/WebSocket#WebSocket_Protocol_Handshake
                         */
                        return true;
                    }
                
                    private function _disconnect() {
                        fclose($this->_Socket);
                    }
                
                    private function _generateRandomString($length = 10, $addSpaces = true, $addNumbers = true) {
                        $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"§$%&/()=[]{}';
                        $useChars = array();
                        // select some random chars:    
                        for ($i = 0; $i < $length; $i++) {
                            $useChars[] = $characters[mt_rand(0, strlen($characters) - 1)];
                        }
                        // add spaces and numbers:
                        if ($addSpaces === true) {
                            array_push($useChars, ' ', ' ', ' ', ' ', ' ', ' ');
                        }
                        if ($addNumbers === true) {
                            array_push($useChars, rand(0, 9), rand(0, 9), rand(0, 9));
                        }
                        shuffle($useChars);
                        $randomString = trim(implode('', $useChars));
                        $randomString = substr($randomString, 0, $length);
                        return $randomString;
                    }
                
                }
                
                $WebSocketClient = new WebsocketClient('localhost', 8887);
                echo $WebSocketClient->sendData("MyUserNameFromPHP");
                unset($WebSocketClient);
                ?>
                

                在我嘗試過的 7 個 php websocket 客戶端中,這是我唯一能夠使用的客戶端.它不需要任何外部文件或框架.這是執(zhí)行不需要持久連接到 webSocket 服務器的短命令的簡單實現(xiàn).

                Out of 7 php websocket clients that I tried, this is the only one that I was able to work with. It doesn't requires any external files or frameworks. This is simple implementation for executing short command that doesn't require persistent connection to webSocket server.

                希望能幫到你們,省時省力!!!

                I hope it helps you guys , and you will save some time !!!

                這篇關于如何使用 WebSocket 從 PHP 發(fā)送數(shù)據(jù)/文本進行處理?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯(lián)系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                PHP PDO ODBC connection(PHP PDO ODBC 連接)
                Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)

                    <small id='HQfRG'></small><noframes id='HQfRG'>

                      <tbody id='HQfRG'></tbody>
                        <bdo id='HQfRG'></bdo><ul id='HQfRG'></ul>
                        <legend id='HQfRG'><style id='HQfRG'><dir id='HQfRG'><q id='HQfRG'></q></dir></style></legend>
                        <i id='HQfRG'><tr id='HQfRG'><dt id='HQfRG'><q id='HQfRG'><span id='HQfRG'><b id='HQfRG'><form id='HQfRG'><ins id='HQfRG'></ins><ul id='HQfRG'></ul><sub id='HQfRG'></sub></form><legend id='HQfRG'></legend><bdo id='HQfRG'><pre id='HQfRG'><center id='HQfRG'></center></pre></bdo></b><th id='HQfRG'></th></span></q></dt></tr></i><div class="ptrxn5d" id='HQfRG'><tfoot id='HQfRG'></tfoot><dl id='HQfRG'><fieldset id='HQfRG'></fieldset></dl></div>
                          <tfoot id='HQfRG'></tfoot>

                        • 主站蜘蛛池模板: 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 珠宝展柜-玻璃精品展柜-首饰珠宝展示柜定制-鸿钛展柜厂家 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 福建省教师资格证-福建教师资格证考试网 | 安徽泰科检测科技有限公司【官方网站】 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | 清管器,管道清管器,聚氨酯发泡球,清管球 - 承德嘉拓设备 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 兰州牛肉面加盟,兰州牛肉拉面加盟-京穆兰牛肉面 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 潍坊大集网-潍坊信息港-潍坊信息网 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 |