Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Error: socket_connect() failed: No connection could be made because the target machine actively refused it. [2]
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Соц Сеть
Разумеется не можем. Ведь только одна программа может слушать на одном порту. Поэтому да, нужно проверять, не занят ли порт - перед тем, как пытаться привязать к нему слушателя. Собственно, в самом Вашем скрипте такая проверка уже сделана, только Вы вызываете исключение в случае, если привязка не удалась. Если логикой требуется что-то другое - так и укажите, что именно нужно (вывести сообщение, что не удалось и т.п.)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Соц Сеть
Отправлено: 06 Июля, 2012 - 18:45:27
Посетитель
Покинул форум
Сообщений всего: 307
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
укажите мне путь что мне делать чтобы сколько раз открыл cliend.php столько раз показал все нормально а не выдал ошибку типа сокет не подключен, может другому порту прикрепить, просто я не знаю сколько портов есть у денвера, вот скрипты скажите пожалуйста что менять чтобы нормально работал ?
Покинул форум
Сообщений всего: 307
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Viper пишет:
А денвер висит на 10001? Ибо обычно на 80.
на 80 проте вообще файл не открывает , и вообще 80 порт уже занят с денвером )
OrmaJever
Отправлено: 06 Июля, 2012 - 21:15:57
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Соц Сеть пишет:
если не трудно скажите что за определенный порт ? мне все ровно с каким портом главное сокет работал нормально
Определёный порт это порт который вы заранее знаете, и знаете что на нём висит (какая программа) и как с ней работать, я сомневаюсь что вам нужны сокеты если вы впринципе этого не понимаете. Сокет не будет работать коректно пока вы не выясните с какой программой он должен работать, а это я написал выше.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Соц Сеть
Отправлено: 06 Июля, 2012 - 21:21:31
Посетитель
Покинул форум
Сообщений всего: 307
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
OrmaJever пишет:
Соц Сеть пишет:
если не трудно скажите что за определенный порт ? мне все ровно с каким портом главное сокет работал нормально
Определёный порт это порт который вы заранее знаете, и знаете что на нём висит (какая программа) и как с ней работать, я сомневаюсь что вам нужны сокеты если вы впринципе этого не понимаете. Сокет не будет работать коректно пока вы не выясните с какой программой он должен работать, а это я написал выше.
если не трудно расскажите подробнее что мне делать, например на порте 10001 весит httpd.exe, мы узнали какая программа висит на этом порте что делать дальше ?
OrmaJever
Отправлено: 06 Июля, 2012 - 21:55:39
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
ну смотря что вы хотите от этой программы. Вначале нужно к ней подключится, затем отправить запрос в том виде в котором его поймёт эта программа, ну и получить ответ и т.д.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Viper
Отправлено: 06 Июля, 2012 - 23:25:15
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Соц Сеть пишет:
на 80 проте вообще файл не открывает , и вообще 80 порт уже занят с денвером )
как-то не согласуется с
Соц Сеть пишет:
например на порте 10001 весит httpd.exe, мы узнали какая программа висит на этом порте что делать дальше ?
Ключевая проблема в вашем вопросе это, то что вы говорите про денвер, пытаясь подключится к порту, фигурирующему в работе другого приложения. Опишите полную схему того, что вам нужно(не код) ибо сейчас уже гадание начинается.
Покинул форум
Сообщений всего: 307
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Viper пишет:
Соц Сеть пишет:
на 80 проте вообще файл не открывает , и вообще 80 порт уже занят с денвером )
как-то не согласуется с
Соц Сеть пишет:
например на порте 10001 весит httpd.exe, мы узнали какая программа висит на этом порте что делать дальше ?
Ключевая проблема в вашем вопросе это, то что вы говорите про денвер, пытаясь подключится к порту, фигурирующему в работе другого приложения. Опишите полную схему того, что вам нужно(не код) ибо сейчас уже гадание начинается.
мне нужно чтобы код который поставил ниже работал нормально, что мне делать чтобы в денвере код который вставил ниже работал нормально и не выдал ошибку ?
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
ааа, я не увидел, у вас 2 скрипта, клиент и сервер. Ну для начала нужно запустить скрипт сервер, как я глянул у вас там будут выводится сообщения об успешных действиях, а затем уже пытатся подключатся к нему клиентом.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Соц Сеть
Отправлено: 07 Июля, 2012 - 10:43:03
Посетитель
Покинул форум
Сообщений всего: 307
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
когда запускаем сервер все работает кроме одного
запуск сервера выглядит так
Create socket ... ok
Bind socket ... ok
Listen socket ... ok
Accept socket ... ok
потом отправляет сообщение клиенту
это тоже выводит OK
а вот данные от клиента не получается
а клиентский часть выводит такое
Create socket ... OK
Connect socket ...
Error: socket_connect() failed: No connection could be made because the target machine actively refused it.
Close socket ... OK
одно замечание,когда сначала открывая сервер.php потом клиент.php, в клиент php сокте работает а,а когда обновляю клиент.php выводит ошибка
Create socket ... OK
Connect socket ...
Error: socket_connect() failed: No connection could be made because the target machine actively refused it.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.