Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
1

Сокеты

09.08.2010, 20:07. Показов 2227. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я стал изучать сокеты и произошла одна ошибка. Вот код клиента:
PHP
1
2
3
4
5
6
<?php
    $s=fsockopen('127.0.0.1',80,$i,$s,10); // Соединяемся с сокетом.
    echo $s; // Выдаём ошибку (выдаёт Resource id #2).
    $str=socket_read($s,14,PHP_NORMAL_READ);
    echo "Нам вернули $str";
?>
Код где принимается соединение:
PHP
1
2
3
4
5
6
7
<?php
    $s=socket_create(AF_INET,SOCK_STREAM,0); // Создаём сокет.
    socket_bind($s,"127.0.0.1",80); // Подсоединяемся к порту 80.
    socket_listen($s,3); // Прослушка.
    socket_accept($s); // Останавливаем программу пока клиент не подсоединится.
    socket_write($s,'Hello, client!',14); // Отправляем строку.
?>
Выдаёт ошибку "Fatal error: Call to undefined function socket_read() in C:\apache\localhost\www\socket\clientsock.php on line 4" в коде клиента.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2010, 20:07
Ответы с готовыми решениями:

Php сокеты и unix-сокеты
Здравствуйте, есть программа, написанная на С под Linux. При её работе в памяти хранятся несколько...

Сокеты
Решил написать небольшую онлайн игру на java. Как мне сделать передачу данных между клиентом...

Сокеты
Хотел спросит как с помощью сокетов можно выводить контент с одного сайта на другой, то есть...

Сокеты и сессии
Подскажите пожалуйста как идентифицировать подключения по сокетам? Как использовать сессии и куки в...

14
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 20:14 2
В php.ini включено расширение?
Код
extension=php_sockets.dll
1
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 20:39  [ТС] 3
А теперь выдаёт ошибку "Fatal error: Call to undefined function socket_read() in C:\apache\localhost\www\socket\clientsock.php on line 4".
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 20:43 4
][акер, PHP как модуль Апача? Правь php.ini в папке apache/bin
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 20:44  [ТС] 5
Vovan-VE, я правил в C:\php.
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 20:48 6
][акер, Тогда попробуй запустить консольный php:
Код
php -r "var_dump(function_exists('socket_read'));"
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 21:04  [ТС] 7
Vovan-VE, у меня не Линукс.
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 21:07 8
[акер;897906]Vovan-VE, у меня не Линукс.
Ну дак и у меня тоже.
Пуск-Выполнить cmd.exe, [ok]
c:
cd \php
php.exe -r "var_dump(function_exists('socket_read'));"
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 22:02  [ТС] 9
bool(false). Во что выдало.
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 22:04 10
Ты точно раcширение socket включил? Покажи весь php.ini
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 22:07  [ТС] 11
Точно, точно! А php.ini показывать слишком много! Вот все подключаемые модули:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
extension=php_zip.dll
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 22:10 12
[акер;898027]А php.ini показывать слишком много!


Там еще есть
Код
extension_dir = "C:\xampp\php\ext\"
В этой папке точно есть php_sockets.dll ?

В директории Апача apache/bin есть еще один php.ini, ибо PHP как модуль Апача. Там такие же изменения надо сделать. После этого на всякий случай Апач перезапустить.
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 22:23  [ТС] 13
Цитата Сообщение от Vovan-VE Посмотреть сообщение
В этой папке точно есть php_sockets.dll ?
Есть!

А в директории Апача php.ini нету!
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.08.2010, 22:37 14
PHP
1
<?php phpinfo(); ?>
Оно говорит (в самом начале):
Loaded Configuration File | C:\xampp\apache\bin\php.ini
Добавлено через 1 минуту
Если там будет (none), то копируй существуйщий php.ini в apache/bin
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
09.08.2010, 22:38  [ТС] 15
Хм... У меня в самом начале ничего наподобие этого нету...

Добавлено через 27 секунд
В Loaded Configuration File?
0
09.08.2010, 22:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2010, 22:38
Помогаю со студенческими работами здесь

PHP и сокеты
Будет страница с лотерейными карточками, для которых нужно постоянно обновлять данные( выигрыш,...

Php сокеты
Здравствуйте. Столкнулся с таким вопросом, как php сокеты(php_sockets.dll). Думаю использовать...

Сокеты на php
Добрый день. Возникла необходимость с ПО на делфи отправлять данные через сокеты на PHP. При...

сокеты. Address already in use
не могу разобраться с сокетами. вот код. выдает ошибку - Не удалось выполнить socket_listen():...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru