我有一臺ZK F7考勤機,帶有TCP/IP端口,它通過附帶的軟件返回數據。但我想通過PHP使用php套接字收集考勤數據,然後將它們保存在mysql中。要做到這一點,我試着下面的代碼,但得到錯誤(調用未定義的函數socket_create())。應該怎樣解決這個錯誤?PHP插座錯誤連接設備
<?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;
}
}
?>
請確保您有安裝包: http://stackoverflow.com/questions/6137823/fatal-error-call-to-undefined-function-socket-create –
啓用擴展= php_sockets.dll現在的錯誤是:「socket_bind():無法綁定地址[10049]:請求的地址在其上下文中無效。」我的設備ip是192.168.1.201,端口是4370.現在該怎麼辦?在此先感謝.... –
您不能綁定到本地主機以外的另一臺計算機。它看起來好像你正在嘗試,但我不知道[該IP不是127.0.0.1或它的一些變種,我認爲你描述爲你的'設備IP',而不是你的主機IP],看看這篇文章:http:///objectmix.com/php/454591-sockets-requested-address-not-valid-its-context.html無論如何,你必須綁定到你的本地主機,並聽取或發送,而不是另一臺機器。 –