[英]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.