0

GPS デバイス (GPRS 経由で通信する) からメッセージを受信し、受信したものを保存するサーバーを実行するJelastic環境があります。PHP socketNavarr 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」を提供します。この基本的なソケット サーバーのセットアップ方法に関するアイデアはありますか?

4

0 に答える 0