“No se puede POST /” | enrollar a nodejs (socket.io)

Obtuve el siguiente código de otra pregunta aquí en SO.

function notifyNode($type, $project_id, $from_user, $data) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://127.0.0.1'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); curl_setopt($ch, CURLOPT_PORT, 3000); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($ch, CURLOPT_POST, true); $pf = array('f' => $type, 'pid' => $project_id, 'user_from' => $from_user, 'data' => array()); foreach($data as $k => $v) { $pf['data'][$k] = $v; } curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($pf)); curl_exec($ch); curl_close($ch); } $test = array(); array_push($test,"first","second","third"); notifyNode("test","moretest","user2",$test); 

con mi servidor nodejs ejecutando el siguiente código:

 app.get('/posts', function(req, res){ if(res.socket.remoteAddress == '127.0.0.1') { console.log("connection received"); if(req.method == 'POST') { console.log("POST received"); // The server is trying to send us an activity message var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { res.writeHead(200, [[ "Content-Type", "text/plain"] , ["Content-Length", 0] ]); res.write(''); res.end(); //sys.puts(sys.inspect({fields: fields}, true, 4)); handleServerNotice(fields); }); } } }); 

Desafortunadamente, cuando ejecuto el script php recibo un mensaje de eco “No se puede POST /” … Estoy ejecutando socket.io escuchando en el puerto 3000 , pero no sé si este es el procedimiento estándar … ¿Alguien puede hacerlo? ayudame en este?

1º) Su API no está aceptando la solicitud POST debido a app.get. Su API está trabajando en la solicitud GET y la está llamando desde POST.

2º) La ruta es / puestos.

  curl_setopt($ch, CURLOPT_URL, 'http://127.0.0.1'); 

utilízalo como

  curl_setopt($ch, CURLOPT_URL, 'http://127.0.0.1:3000/posts');