Ik krijg met een simpel socket script op een lokale server nogal een vreemde error. Op een andere machine lijkt het allemaal wel goed te werken.
Het is de volgende warning:
PHP Warning: socket_bind(): unable to bind address [99]: Cannot assign requested address in /var/www/html/socket/index.php on line 26
De code ziet er alsvolgt uit:
Als ik op google zoek zie ik maar weinig info over die specifieke code-> [99]
Ook op php.net zie ik weinig informatie in de user-comments van de betreffende functies.
Wie o wie kan mij vertellen wat deze melding betekent
Het is de volgende warning:
PHP Warning: socket_bind(): unable to bind address [99]: Cannot assign requested address in /var/www/html/socket/index.php on line 26
De code ziet er alsvolgt uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| <?php error_reporting(E_ERROR | E_WARNING | E_PARSE); set_time_limit(0); ob_implicit_flush(); $address = '192.168.1.120'; $port = 8888; function handle_client($allclient, $socket, $buf, $bytes) { foreach($allclient as $client) { socket_write($client, "$socket wrote: $buf"); } } if (($master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) { echo "socket_create() failed: reason: " . socket_strerror($master) . "\n"; } if (!socket_set_option($master, SOL_SOCKET, SO_REUSEADDR, 1)) { echo socket_strerror(socket_last_error($sock)); exit; } if (($ret = socket_bind($master, $address, $port)) < 0) { echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n"; } if (($ret = socket_listen($master, 5)) < 0) { echo "socket_listen() failed: reason: " . socket_strerror($ret) . "\n"; } $read_sockets = array($master); while (true) { $changed_sockets = $read_sockets; $num_changed_sockets = socket_select($changed_sockets, $write = NULL, $except = NULL, NULL); foreach($changed_sockets as $socket) { if ($socket == $master) { if (($client = socket_accept($master)) < 0) { echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n"; continue; } else { array_push($read_sockets, $client); } } else { $bytes = socket_recv($socket, $buffer, 2048, 0); if ($bytes == 0) { $index = array_search($socket, $read_sockets); unset($read_sockets[$index]); socket_close($socket); } else { $allclients = $read_sockets; array_shift($allclients); // remove master handle_client($allclients, $socket, $buffer, $bytes); } } } } |
Als ik op google zoek zie ik maar weinig info over die specifieke code-> [99]
Ook op php.net zie ik weinig informatie in de user-comments van de betreffende functies.
Wie o wie kan mij vertellen wat deze melding betekent