現在jQuery+PHPで画面を開いたときにsocket_createで接続し、成功したら以降は
socket_createせずにsocket_write(),socket_read()を繰り返すソースを書いています。

PHPの関数はjsで3sec毎に呼び出され、phpで取得したデータを#datadisplayのidを付けた
テーブルタブに更新するものです。(*1)

本題は、呼び出されたphp内でsocket_create -> socket_write() -> socket_read() -> socket_close()をしています。
しかし、画面を開いた際にsocket_create()し、成功したら$_SESSION('socketNo')に返り値を格納し、以後はsocket_write() -> socket_read()を繰り返し、終了時には手動操作によりsocket_close()を呼び出そうとした場合、1回目の処理には$_SESSION('socketNo')が格納されるのですが、2回目以降phpが呼び出された際に$_SESSION('socketNo')の値が0になってしまい、socket_write(),socket_read()の処理でエラーが戻ってきてしまいます。(*2)

socket_create()の返り値を$_SESSION('socketNo')に入れて保管するのはできないのでしょうか?

わかりにくい文になってしまい、申し訳ございませんが、よろしくお願い致します。

以下、一部略している箇所がありますが、該当箇所のコードを添付します。

(*1)------------------------------------------------------

function displayData()
{
    $("#datadisplay").load("dispData.php").fadeIn("normal");
}
$.get("dispData.php",{},displayData);

function autoRefresh(interval){
    autoloader = setInterval(displayData,interval);
}
autoRefresh(3000);

(*2)------------------------------------------------------

<?php

session_start();

// tcp socket client
function connect($sendCmd, $ver)
{
    global $sysVer, $recvBuf;

  $socket = $_SESSION['socketNo'];

    ChromePhp::log('sendCmd'.$sendCmd);
    ChromePhp::log('log : connectFlg : '.$_SESSION['connectFlg']);
    ChromePhp::log('log : socketNo : '.$socket);         // <==== 接続後の値が0になる

    if( $_SESSION['connectFlg'] == 0 ) {

        ChromePhp::log('connect to server : start');

        $server = '127.0.0.1';
        $port = 1000;
        $headLen = 8;

        // ソケット接続(TCP/IP)
        if(!($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)))
        {
            $errorcode = socket_last_error();
            $errormsg = socket_strerror($errorcode);

            die("Couldn't create socket: [$errorcode] $errormsg \n");
        }


        if(!($result = socket_connect($socket, $server, $port)))
        {
            $errorcode = socket_last_error();
            $errormsg = socket_strerror($errorcode);

            die("Couldn't connect socket: [$errorcode] $errormsg \n");
        }

        $_SESSION['connectFlg'] = 1;
        ChromePhp::log('connect to server : success'.$_SESSION['connectFlg']);

        $_SESSION['socketNo'] = $socket;

    }

    $socket = $_SESSION['socketNo'];
    ChromePhp::log('get data');

    //get data
    $in = pack('s*', $sendCmd, 0, 0, 0);
    socket_write($socket, $in, strlen($in));

    $buf = socket_read($socket, $headLen);
    $out = unpack('s*', $buf);
    $dataSize = $out[4];

    $buf = socket_read($socket, $dataSize);
    $recvBuf = $buf;

}

    ?>