zoukankan      html  css  js  c++  java
  • PHP Tcp请求第三方接口

    function socketApi()
        {
            error_reporting(E_ALL);
            set_time_limit(0);
    
            $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
            if ($socket === false) {
                $error_code = socket_last_error();
                $error_msg = socket_strerror($error_code);
                die("Couldn't create socket: [$error_code] $error_msg");
            }
    
            $result = socket_connect($socket, $this->ip, $this->port);
            if (!$result) {
                $this->errorStr = "socket_connect() failed.
    Reason: ($result) " . socket_strerror($result) . "
    ";
                return $this->errorStr;
            }
    
            $in = $this->bodyTit . $this->bodyXml;
            if (!socket_write($socket, $in, strlen($in))) {
                $this->errorStr = "socket_write() failed: reason: " . socket_strerror($socket) . "
    ";
                return $this->errorStr;
            }
    
            while ($out = @socket_read($socket, 8192)) {
                $this->outTradingType = substr($out, 87, 6);
                $this->outSubject = trim(substr($out, 93, 100));
                $this->outBodyTit = substr($out, 0, 222);
                if ($this->outTradingType == '000000') {
                    $this->outBodyXml = substr($out, 222);
                    $this->outXmlArr = self::xmlToArray($this->outBodyXml);
    
                } else {
                    $this->errCode = $this->outTradingType;
                    $this->errStr = $this->outSubject;
                    return $this->errStr;
                }
            }
    
            socket_close($socket);
            return $this->errStr;
        }
  • 相关阅读:
    Java流关闭总结
    Too many open files 问题
    oracle数据库表被锁的解锁方法
    中文转换成字节数组
    java接口理解
    最小的K个数
    数组中出现次数超过一半的数字
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/sgm4231/p/13780317.html
Copyright © 2011-2022 走看看