USSeR
Guest
PHP и Flash через сокеты
Привет!
У меня проблема - надо заставить работать связку PHP - Flash через сокеты. Если кто работал с сокетами в PHP, помогите!
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", 10000);
};
////////////////////////////////////
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
И как инициировать создание сокета? Флешка должна опрашивать скрипт? Или вся идея нерабочая?
Привет!
У меня проблема - надо заставить работать связку PHP - Flash через сокеты. Если кто работал с сокетами в PHP, помогите!
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", 10000);
};
////////////////////////////////////
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
И как инициировать создание сокета? Флешка должна опрашивать скрипт? Или вся идея нерабочая?