3 namespace CoreFramework\Socket;
6 * This exception is thrown when the socket resource is invalid or an error
7 * occurs while socket initialization phase.
9 * @author Roland Haeder <webmaster@shipsimu.org>
11 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
12 * @license GNU GPL 3.0 or any newer version
13 * @link http://www.shipsimu.org
15 * This program is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation, either version 3 of the License, or
18 * (at your option) any later version.
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
25 * You should have received a copy of the GNU General Public License
26 * along with this program. If not, see <http://www.gnu.org/licenses/>.
28 class InvalidSocketException extends AbstractSocketException {
30 * A Constructor for this exception
32 * @param $messageArray Error message array
33 * @param $code Error code
36 public function __construct (array $messageData, $code) {
38 if (is_resource($messageData[1])) {
40 $lastError = socket_last_error($messageData[1]);
42 // Construct the message
43 $message = sprintf('[%s:] Invalid socket, type=%s, errno=%s, errstr=%s',
44 $messageData[0]->__toString(),
45 gettype($messageData[1]),
47 socket_strerror($lastError)
50 // Construct the message
51 $message = sprintf('[%s:] Invalid socket, type=%s(%s), errno=%s, errstr=%s',
52 $messageData[0]->__toString(),
54 gettype($messageData[1]),
60 // Call parent exception constructor
61 parent::__construct($message, $code);