我有一台带有TCP / IP端口的ZK F7考勤机,它通过附带的软件返回数据。但我想通过php使用数组中的php socket收集考勤数据,然后将它们保存在mysql中。为了做到这一点,我尝试了下面的代码,但得到错误(调用未定义的函数socket_create())。什么应该解决错误?
<?php
// Server IP address
$address = "192.168.1.201";
// Port to listen
$port = 4370;
$mysock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($mysock,$address, $port) or die('Could not bind to address');
socket_listen($mysock, 5);
$client = socket_accept($mysock);
// read 1024 bytes from client
$input = socket_read($client, 1024);
// write received gprs data to the file
writeToFile('socketLog.txt', $input);
socket_close($client);
socket_close($mysock);
function writeToFile($strFilename, $strText) {
if($fp = @fopen($strFilename,"w")) {
$contents = fwrite($fp, $strText);
fclose($fp);
return true;
} else {
return false;
}
}
?>
答案 0 :(得分:1)
您没有启用php_sockets扩展程序。在php.ini中执行此操作
答案 1 :(得分:0)
更改行
$mysock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
到
$mysock = socket_create(AF_INET, SOCK_DGRAM, 0);
我想通过使用UDP连接到ZK设备可以解决这个问题。