HOla a todos:
 tengo el siguiente código  y me da Call to undefined function negotiate() in D:\pagina\sitioprueba\mapa_Red.php on line 31
 
<?php
$valor =array();
 include_once("conex.php");
 		$sql2= "select id_nodo, ip from TB_Nodo_Red";
		$rs=$conexion->Execute($sql2);
		while(!$rs->EOF)
		{//principio llave
		   $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
		   $addrees = $rs->fields['ip'];
  		   //$addrees = '10.50.10.40';   //BSC Cubanancan
		   $id_nodo= $rs->fields['id_nodo'];
           //$id_new= '3';//$_GET['id'];
//echo ($addrees);
    socket_connect($socket, $addrees, 23);
//echo($socket);
      while (TRUE) {
        $r = array($socket);
		//echo($r);
        $c = socket_select($r, $w = NULL, $e = NULL, 5);
 
 
       foreach ($r as $read_socket) {
 
             if ($r = negotiate($read_socket)) {
 
                      //  var_dump($r);
				  escribir($read_socket);
 
 
 
                        exit;
                }
        }
 
 
      }
 
 
 
 
 
function negotiate ($socket) {
 
                        socket_recv($socket, $buffer, 1024, 0);
 
                        for ($chr = 0; $chr < strlen($buffer); $chr++) {
                        if ($buffer[$chr] == chr(255)) {
 
                        $send = (isset($send) ? $send . $buffer[$chr] : $buffer[$chr]);
 
                        $chr++;
                        if (in_array($buffer[$chr], array(chr(251), chr(252)))) $send .= chr(254);
                        if (in_array($buffer[$chr], array(chr(253), chr(254)))) $send .= chr(252);
 
                        $chr++;
                        $send .= $buffer[$chr];
 
                        } else {
                        break;
                               }
                       }
 
 
                        if (isset($send)) socket_send($socket, $send, strlen($send), 0);
 
                        if ($chr - 1 < strlen($buffer)) return substr($buffer, $chr);
 
 
} 
?>
 
estuve probando las variables $address, $socket, $r y $read_socket y todas tienen valor hasta justo antes de llamar a la function negotiate.
Alguien me ayuda? Q me puede estar faltando? 
   
 




