Вот код:
Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- /* Позволяет скрипту ожидать соединения бесконечно. */
- /* Включает скрытое очищение вывода так что мы получаем данные
- * как только они появляются. */
- $address = '*.*.*.*';
- $port = 7781;
- $maxlistens = 10;
- $id = 0;
- }else{
- echo "[SERVER]: socket_create() - [OK]\n";
- }
- }else{
- echo "[SERVER]: socket_bind() - [OK]\n";
- }
- }else{
- echo "[SERVER]: socket_listen() - [OK]\n";
- }
- echo '[SERVER]: Socket server is started. Online users: '.$id."\n";
- do {
- break;
- }
- /* Отправляем инструкции. */
- $id++;
- echo "[SERVER]: User id $id is connected \n";
- do {
- break 2;
- }
- continue;
- }
- if($buf == '/online'){
- $talkback = "\r\nConnected users: $id\r\n";
- $msg = "\r\nPlease wait...\r\n";
- $talkback = "\r\n============================\r\nList DSLAM\r\n============================\r\n";
- $talkback .= "ID: $row[id] | Name: $row[name] | Port: $row[port] | Status: $row[status] | User: $row[user] | VPN: $row[vpn]\r\n";
- }
- $talkback .= "============================\r\nStatus: 1 - used, 0 - not used, 3 - armored\r\n";
- $talkback .= "User: 1 - Legal, 0 - Physical, 3 - Not used\r\n";
- $talkback .= "VPN: 1 - Yes, 0 - No\r\n";
- $talkback .= "============================\r\n";
- }else{
- $talkback = "\r\nNot found\r\n";
- }
- }elseif($buf == '/dslam_search'){
- $talkback = "Used '/dslam_search DSLAM_NAME'\r\n";
- $msg = "\r\nPlease wait...\r\n";
- $talkback = "\r\n============================\r\nList DSLAM\r\n============================\r\n";
- $talkback .= "ID: $row[id] | Name: $row[name] | Port: $row[port] | Status: $row[status] | User: $row[user] | VPN: $row[vpn]\r\n";
- }
- $talkback .= "============================\r\nTotal DSLAM: $c\r\n============================\r\n";
- $talkback .= "============================\r\nStatus: 1 - used, 0 - not used, 3 - armored\r\n";
- $talkback .= "User: 1 - Legal, 0 - Physical, 3 - Not used\r\n";
- $talkback .= "VPN: 1 - Yes, 0 - No\r\n";
- $talkback .= "============================\r\n";
- }elseif($buf == '/dslam'){
- $talkback = "Used '/dslam LIMIT'\r\n";
- }elseif($buf == '/mktime'){
- }elseif($buf == '/help'){
- $talkback = "\r\n============================\r\nList commands\r\n============================\r\n";
- $talkback .= "/online - Count connected users\r\n";
- $talkback .= "/list_users - List database users\r\n";
- $talkback .= "/dslam LIMIT - List DSLAM, LIMIT - limit show, numeric\r\n";
- $talkback .= "/dslam_search DSLAM_NAME - Search DSLAM, DSLAM_NAME - name DSLAM, text\r\n";
- $talkback .= "/mktime - Time mark\r\n";
- $talkback .= "/help - List commands\r\n";
- $talkback .= "/exit - close connection\r\n";
- $talkback .= "\r\n============================\r\n";
- }elseif($buf == '/list_users'){
- $talkback = "\r\n============================\r\nList Users\r\n============================\r\n";
- $talkback .= "ID: $row[id] | Login: $row[login] | Rank: $row[rank]\r\n";
- }
- $talkback .= "============================\r\nTotal users: $c\r\n============================\r\n";
- }elseif ($buf == '/exit') {
- echo "[SERVER]: Client id $id is disconected \n";
- break;
- }elseif ($buf == 'close') {
- echo "[SERVER]: Client id $id is disconected and close server \n";
- break 2;
- }else{
- $talkback = "\r\nUnknow command '$buf'\r\n";
- }
- echo "[CLIENT][id$id]: $buf \n";
- $talkback .="[USER $id]# ";
- //echo "$buf\n";
- } while (true);
- } while (true);
- ?>