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;
        }
  • 相关阅读:
    c/c++(c++和网络编程)日常积累(二)
    docker日常积累
    c/c++日常积累
    qt日常积累
    YUV相关积累
    02-asio学习
    01--c实现基础客户端和服务端与c++ boost.asio实现对比
    webrtc学习笔记积累
    linux-日常工作积累
    用Java链接SQL Server
  • 原文地址:https://www.cnblogs.com/sgm4231/p/13780317.html
Copyright © 2011-2022 走看看