У меня есть этот код для данных вызовов из publi c IP-отпечаток пальца и номер коммуникатора, и это работает в php, мой код выглядит следующим образом,
public function getdata(){
$IP= "";
$Key= "";
if($IP!=""){
$Connect = fsockopen($IP, "80", $errno, $errstr, 1);
if($Connect){
$soap_request="<GetAttLog><ArgComKey xsi:type=\"xsd:integer\">".$Key."</ArgComKey><Arg><PIN xsi:type=\"xsd:integer\">All</PIN></Arg></GetAttLog>";
$newLine="\r\n";
fputs($Connect, "POST /iWsService HTTP/1.0".$newLine);
fputs($Connect, "Content-Type: text/xml".$newLine);
fputs($Connect, "Content-Length: ".strlen($soap_request).$newLine.$newLine);
fputs($Connect, $soap_request.$newLine);
$buffer="";
while($Response=fgets($Connect, 1024)){
$buffer=$buffer.$Response;
// var_dump($buffer);
}
$buffer = Parse_Data($buffer,"<GetAttLogResponse>","</GetAttLogResponse>");
$buffer = explode("\r\n",$buffer);
$result = [];
for($a=1;$a<count($buffer);$a++){
$data = Parse_Data($buffer[$a],"<Row>","</Row>");
$PIN = Parse_Data($data,"<PIN>","</PIN>");
$DateTime = Parse_Data($data,"<DateTime>","</DateTime>");
$Verified = Parse_Data($data,"<Verified>","</Verified>");
$Status = Parse_Data($data,"<Status>","</Status>");
$ins = array(
"pin" => $PIN,
"date_time" => $DateTime,
"ver" => $Verified,
"status" => $Status
);
$result[$a] = $ins;
}
return $result;
}
, и это результат когда я var_dump ($ buffer) в то время как:
Я хочу изменить код с php на nodejs с expressjs рамки, кто-нибудь знает как изменить этот код на javascript?
Я пытался с этим кодом:
var net = require('net');
var socket = new net.Socket();
socket.on('connect', function() {
console.log('server now connect')
});
socket.on('data', function(data) {
console.log('data from server:' + data);
});
socket.connect(PORT, 'IP');
но, застрял и не знаю, что делать, кто-нибудь может помочь? спасибо