Показать сообщение отдельно
Старый 12.07.2005, 22:08
DizMaster вне форума Посмотреть профиль Отправить личное сообщение для DizMaster Найти все сообщения от DizMaster
  № 1  
Ответить с цитированием
DizMaster
 
Аватар для DizMaster

Регистрация: Jul 2005
Сообщений: 24
Отправить сообщение для DizMaster с помощью ICQ
По умолчанию PHP и Flash через сокеты

У меня проблема - надо заставить работать связку PHP - Flash через сокеты.

Flash должна устанавливать соединение с PHP, который соединён с БД. История стандартна, но обычный http тут не совсем подходит: надо часто слать информацию.


Flash часть:
--Button (btn)
--Text Field (out_tf)
////////////////////////////////////
soc = new XMLSocket();
soc.onConnect = function(success) {
if (success) {
_root.out_tf.text += "connected \n";
} else {
_root.out_tf.text += "failed \n";
}
};
btn.onRelease = function() {
soc.connect("127.0.0.1", 10002);
};
////////////////////////////////////



PHP часть:
////////////////////////////////////
<?php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, '127.0.0.1' ,10002);

socket_connect($sock, '127.0.0.1', 10002);
$request = 'Hello!';
socket_write($sock, $request);
//socket_read($sock,1024);

socket_close($sock);
?>
////////////////////////////////////
Если раскомментировать socket_read($sock,1024), то один раз скрипт выполняется, а потом выводит это:
1. Обычно разрешается одно использование адреса сокета (протокол/сетевой адрес/порт): это ему socket_bind не нравится?
2. unable to write to socket [0]: Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
3. см. п. 2, только вместо write там read



И как инициировать создание сокета? Флешка должна опрашивать скрипт? Или вся идея нерабочая?