|
|
|
| Перерыл много классов, но не в одном не была реализована передача файлов.
Мне кажется это очень нужная вешь, может кто - нибудь сталкивался с данным вопросом? | |
|
|
|
|
|
|
|
для: STEVER
(15.07.2007 в 14:10)
| | А сам класс для работы с ICQ не подбросите? Ботика желательно!!! | |
|
|
|
|
|
|
|
для: Proger
(15.07.2007 в 19:50)
| | Да их полно. Вот один из них. Работоспособность мной проверена.
Подключение класса:
$admin="8359812"; //ася админа :)
$send2me=$admin; // туда пересылаются сообщения
$icq_number="11111111"; // ася бота
$icq_pass="CoolPass"; //пароль бота
$icq_std_status="ONLINE"; //станд.статус
include "c99phpicq.php";
set_time_limit (0); // бесконечное время выполнения
ignore_user_abort(true);
$icq = new ICQclient($icq_number,$icq_pass);
$icq->errorstream = false;
$icq->dbgstream = false;
$icq->connect();
$icq->setstatus($icq_std_status);
$icq->login();
while ($icq->socket)
{
$icq->listen();
if ($icq->ismessage())
{
$uin = $icq->inLastVar["uin"];
$text = $icq->inLastVar["text"];
$mid = md5($icq->inLastVar["mid"]);
$text = trim($text);
$cmd = explode(" ",$text);
$cmd[0] = strtolower($cmd[0]);
$cmd[1] = strtolower($cmd[1]);
if ($text == "!exit" && $uin==$admin) {exit;}
elseif ($text == "!exit" || $text == "!send") { $icq->message_send($uin,"Access denied!"); }
elseif ($cmd[0] == "!send" && $uin == $admin) {
$text2send = $cmd[2];
for($i=2; $i<=count($cmd); $i++) $text2send.=$cmd[$i];
$icq->message_send( $cmd[1], $cmd[2] );
}
else {
$icq->message_send($uin,"Внимание! На данном ICQ установлен бот :) Все сообщения перенаправляются в $send2me (во всяком случае, должны туды переправляться :))");
$icq->message_send($send2me,"--пришло с номера $uin: $text");
}
}
}
|
| |
|
|
|
|
|
|
|
для: STEVER
(15.07.2007 в 19:55)
| | Насколько я понимаю, передача файла не имеет отношение к протоколу ICQ. | |
|
|
|
|
|
|
|
для: Unkind
(15.07.2007 в 20:00)
| | возможно, но тогда как они передаются через клиент? через другой протокол? но он всеравно проходит через сервер! | |
|
|
|
|
|
|
|
для: STEVER
(15.07.2007 в 20:27)
| | но он всеравно проходит через сервер!
С ума сойти. Вот именно этого не происходит точно. | |
|
|
|
|
|
|
|
для: Unkind
(15.07.2007 в 21:03)
| | прокси сервер. я не в инете, а мне с инета файлы шлют. и как они тогда по твоему доходят? | |
|
|
|
|
|
|
|
для: STEVER
(16.07.2007 в 14:42)
| | И что, когда Вы уже в онлайне тот человек, что посылал файл уже сам отключился от сети?
И при чем тут прокси вообще? | |
|
|
|
|
|
|
|
для: Unkind
(16.07.2007 в 16:12)
| | Интернет у меня через VPN соединение, т.е. не включая впн доступ есть только в локальную сеть, из инета ничего качать не могу, но файлы через клиента аськи передаются в инет легко, как это объяснить? | |
|
|
|
|
|
|
|
для: STEVER
(16.07.2007 в 20:31)
| | VPN-соединение - само по себе - это не прокси, а еще один (виртуальный) сетевой адаптер. Со своим IP, со своими строками в таблице маршрутизации и т.д.
И если маршруты для аськи у Вас проложены в обход VPN, ничего удивительного, что она работает и без инета. (Если инетом называть VPN) | |
|
|
|
|
|
|
|
для: Trianon
(16.07.2007 в 20:36)
| | Маршруты проложены через прокси сервер аски от провайдера.
Возвращаясь к вопросу о передаче файлов, тогда и для них свой маршрут? если они к аське не относятся? | |
|
|
|
|
|
|
|
для: STEVER
(16.07.2007 в 23:27)
| | Маршрут определяется адресом назначения.
Собственно, если статических маршрутов не прописано (что бывает в большинстве случаев)
то для всех внешних серверов маршрут один - через шлюз VPN-канала.
А если провайедр проксит аську - тут всё сложнее.
Обычно аська для обмена файлами создает собственное соединение клиент-клиент, безо всяких серверов. Точнее сервером в этом соединении выступает клиент противной стороны. Соответственно, этот маршрут будет прокситься лишь в том случае, если прокси провайдера будет влезать внутрь протокола клиент-клиент, подменяя адреса прямых дейтаграмм. О таких извращениях (несмотря на то, что теоретически они возможны) я ни разу не слышал.
Обычно канал файлового обмена через прокси не пропускается (SOCKS-прокси не в счет. там завернут в тунель всё что угодно.) И соответственно файловый обмен останется на уровне маршрутов VPN.
Это достаточно общие рассуждения. Чтобы делать детальные выводы, нужно четко себе представлять задачу и методику работы каждого из серверов. | |
|
|
|
|
|
|
|
для: Trianon
(17.07.2007 в 00:10)
| | 2 обзац пеечитывал 3 раза.
Если прокси аськи меняет адреса для файлов, значит оно что то знает? значит файлы таки входят в протокол аськи, или нет? | |
|
|
|
|
|
|
|
для: Unkind
(15.07.2007 в 20:00)
| | >Насколько я понимаю, передача файла не имеет отношение к протоколу ICQ.
в точку...
там p2p коннект скорее всего :) | |
|
|
|
|
|
|
|
для: Sobachka
(15.07.2007 в 21:52)
| | Может я не силен в протоколах, но как тогда работает передача файлов, если у меня аська через прокси работает? | |
|
|
|
|
|
|
|
для: STEVER
(15.07.2007 в 22:51)
| | >Может я не силен в протоколах, но как тогда работает передача файлов, если у меня аська через прокси работает?
незнаю...
провёл специально тест... смотрите аттач :)
http://sobachka.com.ua/test.gif | |
|
|
|
|
|
|
|
для: Sobachka
(16.07.2007 в 00:54)
| | "Изображение содержит ошибки". Это что скрипт был? | |
|
|
|
|
|
|
|
для: STEVER
(15.07.2007 в 22:51)
| | Обычно, в таких ситуациях - никак )) | |
|
|
|
|
|
|
|
для: STEVER
(15.07.2007 в 19:55)
| | А файлик самого класса не подкините?
include "c99phpicq.php"; | |
|
|
|
|
|
|
|
для: Proger
(15.07.2007 в 21:01)
| | вверху справа аттач | |
|
|
|