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


Автор: CyClon 5.3.2006, 18:56
Сколько читал документаций про сокеты - все равной ничего не пойму. Зачем они вообще нужны, в каких случаях их нужно использовать? Я так понял, что они нужны для проверки сервера на валидность, или как? Но если так, почему ты не прописать fopen и потом проверить? В общем, кто может, объясните.

---

Вопрос на засыпку: Что такое srand и mt_srand? Они генерируются последоватьельности чисел для функций аналогов? И чем отличается mt_rand от rand, точнее что такое "генерирует наиболее удачные значения"?

Автор: gAnton 6.3.2006, 02:29
сокеты нужны для любых передачи данных по сети. fopen(с включенным allow_url_fopen, позволяющим "открывать" и "читать" вебсайты) работает только по http протоколу и на 80 порту. что будет при попытке записи в такой открытый поток не знаю, врать не буду.
по сути fopen и последующий fread для удаленного вебсайта реализует метод GET протокола HTTP.

через сокеты же ты можешь делать, в принципе, что угодно - проверять почту, работать с фтп, посылать, к примеру, HTTP POST запросы на удаленные сервера. в общем полная гибкость, которой лишен fopen.


что же касается srand и mt_srand - начиная с версии php 4.2.0 в них нужды нету(см. мануал), это выполняется автоматически. разве что можно попробовать шифровать что-либо, задавая известное ядро и получая повторяющийся ряд чисел для данного ядра.
mt_rand генерирует произвольные числа с определенными и известными характеристиками, характеристики же rand неизвестны - см. мануал php

Автор: CyClon 6.3.2006, 14:58
На счет рандов - mt - произволное чилсо, без mt - основываясь на времени.

На счет соектов... Хм... Теперь нужно разобраться как они работаютsmile Какая он-лайн документацию посоветуете?

Автор: aprok 6.3.2006, 18:25
http://search.php.ru/search/?PAGE=1&QS=+%D1%81%D0%BE%D0%BA%D0%B5%D1%82%D1%8B

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