簡體   English   中英

有時我無法使用php java bridge連接到套接字

[英]sometimes I unable to connect to connect to socket using php java bridge

我們正在使用PHP應用程序中的Java橋來連接Java應用程序。 但是有時,連接無法連接。 以下是用於連接的功能。 我沒有得到什么問題。 有時它可行,有時卻無法連接。 是否設置了持久連接問題或計數?

function open() {
            $errno = null;
            $errstr = null;
            $socket = JAVA_PERSISTENT_SERVLET_CONNECTIONS ?
                    pfsockopen("{$this->ssl}{$this->host}", $this->port, $errno, $errstr, 20) :
                    fsockopen("{$this->ssl}{$this->host}", $this->port, $errno, $errstr, 20);
            if (!$socket)
                throw new java_ConnectException("Could not connect to the J2EE server {$this->ssl}{$this->host}:{$this->port}. Please start it. Or define('JAVA_HOSTS', 8080); define('JAVA_SERVLET', false); before including 'Java.inc' and try again. Error message: $errstr ($errno)\n");
            stream_set_timeout($socket, -1);
            return $socket;
        }

     function java_HttpHandler($protocol, $ssl, $host, $port) {
            parent::java_SimpleHttpHandler($protocol, $ssl, $host, $port);
            try {
                $this->socket = $this->open();
            } catch (Exception $e) {
                $cogLink = "http://xxxx.xx.com/products/sup_products.asp?prod_id=81174";
    echo "eeeeerrrr";
    }
}

是否設置了持久連接問題或計數?

后端很可能用盡了手柄。 請注意,為了獲得與Java“ continuation”的持久連接,您必須先向Servlet引擎發送POST請求。 之后,您可以pfsockopen()到Java“ Continuation”,servlet引擎已返回並使用協議請求

(F p =“ A” /)

回收和

(F p =“ F” /)

將“延續”放回池中。

我已經檢查了Java.inc代碼,它不包含您發布的代碼。 因此,我假設您已經編寫了自定義代碼來模擬Java.inc。

如果是這樣,請確保不超過橋接線程池的大小(默認為20)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM