Вот код сервера:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- $address = '92.102.92.81';
- $port = 1225; //Порт работы сервера (лучше какой-нибудь редкоиспользуемый)
- //AF_INET - семейство протоколов
- //SOCK_STREAM - тип сокета
- //SOL_TCP - протокол
- echo "Ошибка создания сокета";
- }
- else {
- echo "Сокет создан\n";
- }
- //Связываем дескриптор сокета с указанным адресом и портом
- echo "Ошибка связи сокета с адресом и портом";
- }
- else {
- echo "Сокет успешно связан с адресом и портом\n";
- }
- //Начинаем прослушивание сокета (максимум 5 одновременных соединений)
- echo "Ошибка при попытке прослушивания сокета";
- }
- else {
- echo "Ждём подключение клиента\n";
- }
- do {
- //Принимаем соединение с сокетом
- echo "Ошибка при старте соединений с сокетом";
- } else {
- echo "Сокет готов к приёму сообщений\n";
- }
- $msg = "Hello!"; //Сообщение клиенту
- echo "Сообщение от сервера: $msg";
- //Бесконечный цикл ожидания клиентов
- do {
- echo 'Сообщение от клиента: ';
- echo "Ошибка при чтении сообщения от клиента"; }
- else {
- echo $buf."\n"; //Сообщение от клиента
- }
- //Если клиент передал exit, то отключаем соединение
- if ($buf == 'exit') {
- break 2;
- }
- else {
- $buf = $buf * $buf;
- echo "Сообщение от сервера: ($buf)\n";
- }
- } while (true);
- } while (true);
- //Останавливаем работу с сокетом
- echo "Сокет успешно закрыт";
- }
- ?>