Thread View: pl.comp.lang.php
2 messages
2 total messages
Started by jivanmukta
Mon, 12 Jan 2015 17:20
socket_bind(): unable to bind address: Cannot assign requested address
Author: jivanmukta
Date: Mon, 12 Jan 2015 17:20
Date: Mon, 12 Jan 2015 17:20
34 lines
2468 bytes
2468 bytes
Uczę się PHP5. Napisałem funkcję sprawdzającą czy działa serwer poczty. Z niezrozumiałych dla mnie przyczyn mam błąd:
socket_bind(): unable to bind address [99]:
Cannot assign requested address
mimo że serwer poczty działa.
Proszę o wytłumaczenie.
Oto mój kod:
define('EMAIL_SERVER', '94.152.10.76');
define('SMTP_PORT', 587);
public function emailServerData() {
if (($p = strpos(EMAIL_SERVER, ':')) !== FALSE) {
$server = substr(EMAIL_SERVER, 0, $p);
$port = intval(substr(EMAIL_SERVER, $p + 1));
} else {
$server = EMAIL_SERVER;
$port = SMTP_PORT;
}
return array($server, $port);
}
// sprawdź, czy działa serwer poczty:
public function checkMailServer() {
list($server, $port) = $this->emailServerData();
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!socket_bind($socket, $server)) {
return FALSE;
}
if (!socket_connect($socket, $server, $port)) {
return FALSE;
}
socket_close($socket);
return TRUE;
}
Re: socket_bind(): unable to bind address: Cannot assign requested address
Author: Borys Pogoreło
Date: Tue, 13 Jan 2015 20:46
Date: Tue, 13 Jan 2015 20:46
17 lines
1393 bytes
1393 bytes
Dnia Mon, 12 Jan 2015 09:20:23 -0800 (PST), jivanmukta@poczta.onet.pl
napisał(a):
> Uczę się PHP5. Napisałem funkcję sprawdzającą czy działa serwer poczty. Z
> niezrozumiałych dla mnie przyczyn mam błąd:
Robiąc takie rzeczy wypadałoby ogarnąć zasady działania socketów. Jeśli
doczytasz czym się róznią poniższe funkcje:
> if (!socket_bind($socket, $server)) {
> if (!socket_connect($socket, $server, $port)) {
... to wszystko będzie jasne.
--
Borys Pogoreło
borys(#)leszno,edu,pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads