Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Проблемы с сокетами


Автор: Спец 4.2.2007, 20:03
Всем привет!

пытаюсь создать несколько соккетов и пока они готовятся продалжать работу, но не получается, подскажите пожалуйста в чем проблема.
вот код

$a = gethostbyname('www.yandex.com');
$p = getservbyname('www', 'tcp');

$socket = socket_create (AF_INET, SOCK_STREAM, 0);
socket_set_nonblock($socket);
$result = socket_connect($socket, $a, $p);  // тут выдеёт ошибку "Операция на незаблокированном сокете не может быть завершена немедленно"

по идее скрипт не должен ждать коннекта, а продалжать работу, так?

Автор: PARROT 4.2.2007, 22:00
http://forum.vingrad.ru/topic-103996.html

Автор: Спец 4.2.2007, 22:46
не.. не то... ) мне нужны асинхронные соккеты, те та как орехи щелкаю, и мульти курл не подходит в моём случает

Автор: Mal Hack 4.2.2007, 22:51
Цитата(Спец @  4.2.2007,  20:03 Найти цитируемый пост)
по идее скрипт не должен ждать коннекта, а продалжать работу, так?

Будет ждать.

Глянь http://php.net/pcntl

Автор: Спец 4.2.2007, 23:00
форки тож не нужны) 

люди как то ж делают всё это, что-то с socket_select мутят и в итоге,  по дному готовому сокету "вытягивают" и работают с ними пока остальные конектятся

Автор: Спец 5.2.2007, 12:04
Mal Hack почитай про неблочниые сокеты
http://forum.umaxfeed.com/topic/3/5835/60/

Автор: Mal Hack 5.2.2007, 14:24
Спец, http://forum.vingrad.ru/topic-70615.html

Автор: Спец 5.2.2007, 14:44
Цитата(Mal Hack @ 5.2.2007,  14:24)
ПХП вообще хреново работает с потоками. Вот что пишут разработчики ПХП про опцию, включающую многопоточную поддержку в ПХП:

  
--enable-maintainer-zts Enable thread safety - for code maintainers only!!    

Поэтому, если уж задумал писать многопоточное приложение на ПХП для работы с сокетами, то лучше эмулировать его в одном потоке с помощью socket_set_nonblock() и socket_select().

вот тако вот пишут.. вообщем никого слушать нельзя

Автор: Mal Hack 5.2.2007, 14:48
Спец, уж если на то пошло, то нормальную многопоточность надо на С/С++ реализовывать  smile 

Автор: Спец 5.2.2007, 21:33
Цитата(Mal Hack @ 5.2.2007,  14:48)
Спец, уж если на то пошло, то нормальную многопоточность надо на С/С++ реализовывать  smile

согласен..) а на свою тачку можнож поставить что-то такое на чём можно будет скрипты на с++ написанные запускать? на серверах жеть стоят вроде как, значит и себе можно поставить, так?)

и я наверно замучаюсь подстраивать скрипт под разные операционки?

Автор: coyl 7.2.2007, 01:08
Цитата(Спец @  5.2.2007,  21:33 Найти цитируемый пост)
скрипты на с++

скомпиленный и cgi. все как при зарождении динамического веба =)

Автор: Mal Hack 7.2.2007, 22:19
Цитата(Спец @  5.2.2007,  21:33 Найти цитируемый пост)
согласен..) а на свою тачку можнож поставить что-то такое на чём можно будет скрипты на с++ написанные запускать? на серверах жеть стоят вроде как, значит и себе можно поставить, так?)

Сред - куча. Проект надо создать специальный.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)