GPS デバイス (GPRS 経由で通信する) からメッセージを受信し、受信したものを保存するサーバーを実行するJelastic
環境があります。PHP
socket
Navarr Barnier によって作成された SocketServer.class.php クラスを使用しています (ここにリンク)。ご覧のとおり、これは非常に単純なアプリケーションです。
<?php
require_once("SocketServer.class.php");
$server = new SocketServer("<server address>",20490);
$server->max_clients = 10;
$server->hook("CONNECT","handle_connect");
$server->hook("INPUT","handle_input");
$GLOBALS['conexao'] = mysql_connect('<mysql_address>', 'root', '<mysql_password>');
$GLOBALS['selected'] = mysql_select_db('<database>',$GLOBALS['conexao']);
$server->infinite_loop();
function handle_connect($server,$client,$input)
{
SocketServer::socket_write_smart($client->socket,"OK!");
}
function handle_input($server,$client,$input)
{
//echo "\nInput = ".$input;
//$query = "INSERT INTO `messages`(`message`) VALUES (\"".$input."\")";
mysql_query("INSERT INTO `messages`(`message`) VALUES ('".$input."')");
}
このコードは、Issue Binding を出力として提供します。つまり、特定の IP:port と他の IP:ports でソケットを作成できません。
実際、私はそれをすべて試しました:
$server = new SocketServer("localhost",20490);
$server = new SocketServer("127.0.0.1",20490);
$server = new SocketServer("0.0.0.0",20490);
$server = new SocketServer("0",20490);
$server = new SocketServer("<server_dns>",20490);
$server = new SocketServer("<server_public_ip>",20490);
さらに...すべて「Issue Binding」を提供します。この基本的なソケット サーバーのセットアップ方法に関するアイデアはありますか?