从套接字服务器读取响应并保存到数据库
read a response from socket server and save into database
我是套接字编程的新手。我有一个 GPS 跟踪器,它通过 GPRS 连接将数据连接并发送到定义的 public server:port。
我在终端上得到结果。
我想知道如何在某个变量中获得该响应,以便我可以将这些条目实时保存在数据库中。
这是代码。
require_once("SocketServer.class.php"); // Include the File
$server = new SocketServer("xxx.xx.x.xxx",8153); // Create a Server binding to the given ip address and listen to port 31337 for connections
$server->max_clients = 10; // Allow no more than 10 people to connect at a time
$server->hook("CONNECT","handle_connect"); // Run handle_connect every time someone connects
$server->hook("INPUT","handle_input"); // Run handle_input whenever text is sent to the server
$server->infinite_loop(); // Run Server Code Until Process is terminated.
function handle_connect(&$server,&$client,$input)
{
SocketServer::socket_write_smart($client->socket,"String? ","");
}
function handle_input(&$server,&$client,$input)
{
// You probably want to sanitize your inputs here
$trim = trim($input); // Trim the input, Remove Line Endings and Extra Whitespace.
if(strtolower($trim) == "quit") // User Wants to quit the server
{
SocketServer::socket_write_smart($client->socket,"Oh... Goodbye..."); // Give the user a sad goodbye message, meany!
$server->disconnect($client->server_clients_index); // Disconnect this client.
return; // Ends the function
}
$output = strrev($trim); // Reverse the String
echo "output is".$trim;
SocketServer::socket_write_smart($client->socket,$output); // Send the Client back the String
SocketServer::socket_write_smart($client->socket,"String? ",""); // Request Another String
}
SocketServer.class.php
http://www.phpclasses.org/browse/file/31975.html
这一行不在终端上打印结果
echo "output is".$trim;
这个我也试过了
$myfile = fopen("file.txt", "w") or die("Unable to open file!");
fwrite($myfile, $trim);
fclose($myfile);
并且文件保持为空
转到 SocketServer.class.php
并查找此代码
结果在这个变量$input
中。因此,如果您想将数据保存到数据库中,请在其他部分添加您的代码。
if($input == null){
$this->disconnect($i);
}else{
SocketServer::debug("{$i}@{$this->clients[$i]->ip} --> {$input}");
$data= $input;
//add your code here
注意:作者更新了其库的代码。这是新代码
https://github.com/navarr/Sockets
我是套接字编程的新手。我有一个 GPS 跟踪器,它通过 GPRS 连接将数据连接并发送到定义的 public server:port。 我在终端上得到结果。
我想知道如何在某个变量中获得该响应,以便我可以将这些条目实时保存在数据库中。
这是代码。
require_once("SocketServer.class.php"); // Include the File
$server = new SocketServer("xxx.xx.x.xxx",8153); // Create a Server binding to the given ip address and listen to port 31337 for connections
$server->max_clients = 10; // Allow no more than 10 people to connect at a time
$server->hook("CONNECT","handle_connect"); // Run handle_connect every time someone connects
$server->hook("INPUT","handle_input"); // Run handle_input whenever text is sent to the server
$server->infinite_loop(); // Run Server Code Until Process is terminated.
function handle_connect(&$server,&$client,$input)
{
SocketServer::socket_write_smart($client->socket,"String? ","");
}
function handle_input(&$server,&$client,$input)
{
// You probably want to sanitize your inputs here
$trim = trim($input); // Trim the input, Remove Line Endings and Extra Whitespace.
if(strtolower($trim) == "quit") // User Wants to quit the server
{
SocketServer::socket_write_smart($client->socket,"Oh... Goodbye..."); // Give the user a sad goodbye message, meany!
$server->disconnect($client->server_clients_index); // Disconnect this client.
return; // Ends the function
}
$output = strrev($trim); // Reverse the String
echo "output is".$trim;
SocketServer::socket_write_smart($client->socket,$output); // Send the Client back the String
SocketServer::socket_write_smart($client->socket,"String? ",""); // Request Another String
}
SocketServer.class.php
http://www.phpclasses.org/browse/file/31975.html
这一行不在终端上打印结果
echo "output is".$trim;
这个我也试过了
$myfile = fopen("file.txt", "w") or die("Unable to open file!");
fwrite($myfile, $trim);
fclose($myfile);
并且文件保持为空
转到 SocketServer.class.php
并查找此代码
结果在这个变量$input
中。因此,如果您想将数据保存到数据库中,请在其他部分添加您的代码。
if($input == null){
$this->disconnect($i);
}else{
SocketServer::debug("{$i}@{$this->clients[$i]->ip} --> {$input}");
$data= $input;
//add your code here
注意:作者更新了其库的代码。这是新代码 https://github.com/navarr/Sockets