*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009, 2010 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
}
// Set it in configuration
- FrameworkConfiguration::getInstance()->setServerAddress($ip);
+ FrameworkConfiguration::getSelfInstance()->setServerAddress($ip);
}
/**
* @return $externalAddress The determined external IP address
* @throws InvalidSocketException If socket initialization wents wrong or if an errors occurs
* @todo This should be moved out to an external class, e.g. HttpClient
+ * @todo Make IP, host name, port and script name configurable
*/
public static function determineExternalIp () {
// Get helper instance
$helperInstance = new ConsoleTools();
// First get a socket
- $socket = fsockopen('188.138.90.169', 80, $errorNo, $errorStr, 5);
+ // @TODO Add some DNS caching here
+ $socketResource = fsockopen('188.138.90.169', 80, $errorNo, $errorStr, 5);
// Check if there was an error else
if ($errorNo > 0) {
// Then throw again
- throw new InvalidSocketException(array($helperInstance, gettype($socket), $errorNo, $errorStr), BaseListener::EXCEPTION_INVALID_SOCKET);
+ throw new InvalidSocketException(array($helperInstance, gettype($socketResource), $errorNo, $errorStr), BaseListener::EXCEPTION_INVALID_SOCKET);
} // END - if
// Prepare the GET request
$request = 'GET /ip.php HTTP/1.0' . self::HTTP_EOL;
- $request .= 'Host: www.ship-simu.org' . self::HTTP_EOL;
+ $request .= 'Host: ship-simu.org' . self::HTTP_EOL;
$request .= 'User-Agent: ' . self::HTTP_USER_AGENT . self::HTTP_EOL;
$request .= 'Connection: close' . self::HTTP_EOL;
$request .= self::HTTP_EOL;
// Send it to the socket
- fwrite($socket, $request);
+ fwrite($socketResource, $request);
// Init IP (this will always be the last line)
$externalAddress = 'invalid';
// And read the reply
- while (!feof($socket)) {
- $externalAddress = fgets($socket, 128);
+ while (!feof($socketResource)) {
+ $externalAddress = fgets($socketResource, 128);
} // END - while
// Close socket
- fclose($socket);
+ fclose($socketResource);
// Return determined external IP
return $externalAddress;