forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PureBasic (http://forum.boolean.name/forumdisplay.php?f=90)
-   -   Сервер+Клиент=Передача данных (http://forum.boolean.name/showthread.php?t=14282)

maxturbo 22.02.2011 16:51

Сервер+Клиент=Передача данных
 
В общем такой вот вопрос!!! :)
Нужно сделать программу состоит она из клиента и сервера!!!
Суть программы такова!
На одну машину закачивается клиент и делай скриншоты рабочего стола и всего подобного что происходит там, в том числе и скрины когда играют в игры, хочу сделать чтоб период снятия скринов тоже стоял ну к примеру каждые две минуты и чтоб эти скрины отправлялись на сервер!
Допустим у меня дома сервер будет запущен, а у другова юзира клиент, клиент должен работать в фоновом режиме то есть его видно не должно быть делать скриншоты и отсылать их ко мне то есть на сервер :) :)
Реально ли такое организовать на PureBasic'e???
Программа будет работать в локальной сети...
+ Еще охота чтоб на сервере выводился список тех юзиров у кого сейчас запущен клиент этой программки в виде их IP адреса! :)
Кто подскажет как можно такое организовать и реально ли это вообще :) :)

moka 22.02.2011 17:06

Ответ: Сервер+Клиент=Передача данных
 
Реально. Но возникнут трудности с Full Screen играми, т.к. это уже немного другая история.
Остальное, не сложно.
На PureBasic вроди есть всё что нужно, работа с сокетами, или получше что (уже подготовленное).
Используй TCP для передачи данных. А картинки для простоты можно прямиком клиентским приложением копировать на локально зашаренную папку (не придётся делать передачу картинок по TCP).
Можно ещё проще, поставить MS SQL и тупо писать имя файла и timestamp, клиентом. А серверным приложением обновлять список в риалтайм. Не придётся писать таким образом никаких серверов для юзер контроля на TCP/IP, и т.п.

ЗЫ, за работниками следить решили? :(

maxturbo 22.02.2011 17:22

Ответ: Сервер+Клиент=Передача данных
 
Цитата:

Сообщение от MoKa (Сообщение 180039)
ЗЫ, за работниками следить решили? :(

Почти угадал :) Блин а значить если играя в игры Full Screen то уже будет посложнее сделать снятие скриншотов да???

SBJoker 22.02.2011 17:24

Ответ: Сервер+Клиент=Передача данных
 
а чем радмин не устраивает?

maxturbo 22.02.2011 17:29

Ответ: Сервер+Клиент=Передача данных
 
Цитата:

Сообщение от SBJoker (Сообщение 180041)
а чем радмин не устраивает?

Радмин тоже можно, но все же все знать будут что он стоит! Вот и решил так сказать сам сделать сам установить и чеб ни кто ни чего не знал :)

moka 22.02.2011 18:43

Ответ: Сервер+Клиент=Передача данных
 
Дык, на то и контроль, чтоб о нём знали, а то это уже слишком говяно и паскудно!
Значит работодатель мало платит, что работник не работает..

maxturbo 23.02.2011 05:18

Ответ: Сервер+Клиент=Передача данных
 
Лан со скринами все вери гуд :) Сделал теперь вот не пойму как организовать чтоб сохранялись они ко мне на компьютер сразу ну или отсылались :) Помогите :)

baton4ik 23.02.2011 10:12

Ответ: Сервер+Клиент=Передача данных
 
Цитата:

Сообщение от maxturbo (Сообщение 180043)
Радмин тоже можно, но все же все знать будут что он стоит! Вот и решил так сказать сам сделать сам установить и чеб ни кто ни чего не знал :)

Фейл. Даже увидев иконку в трее, не каждый догадается кликнуть по ней и глянуть, что это.
Я, когда брутил радмины (по диапазонам адресов и простыми парами логин-пароль, каждый раз по 15 штук получал), к кому только не подключался. Там были и офисные работники, и домашние компьютеры, один раз с какой-то девушкой познакомился - оказалось, что она знает о радмине, но не удаляет и мы (я был не один) третьи, с кем она так знакомится. Пообщались в её блокноте (ещё я подключился к её микрофону и слышал всё, что у неё происходит, так что комментировал ситуацию в квартире), она добавила вконтактике. К слову, сказала, что хочет быть программисткой и носит очки.
Другой раз подключился к каким-то парням лет 12. Не помню, чем я себя выдал, однако они стали дико материться в микрофон и посылать меня. Я сказал, что они не в той ситуации, чтоб материться, ведь я могу удалить их любимый CS, но страх им, как оказалось, не ведом. Я, не будучи злым, ничего не удалил.
Так что совсем не многие замечают радмин.

moka 23.02.2011 13:35

Ответ: Сервер+Клиент=Передача данных
 
В чём проблемма? Сохраняй прямиком на локально зашаренную папку в сети, с сервера. Типо так: "\\serverpc\media".

maxturbo 23.02.2011 15:51

Ответ: Сервер+Клиент=Передача данных
 
Цитата:

Сообщение от MoKa (Сообщение 180143)
В чём проблемма? Сохраняй прямиком на локально зашаренную папку в сети, с сервера. Типо так: "\\serverpc\media".

Проблема как рас таки в том что я не могу докуботурить как создать сервер и клиент! Клиент должен состоять из так сказать программы для снятия скринов и отправки их на сервер, а сервер состоять из так сказать чтоб выводил список какие клиенты сейчас подключены то есть у кого в данный момент запущен клиент отображалось чтоб в виде их IP адресов ну и разумеется принимал фалы :) Как это сделать я фиг его знает, что то у меня в бошке не укладывается :) Помогите пожалуйста чем сможете :) :)

moka 23.02.2011 16:02

Ответ: Сервер+Клиент=Передача данных
 
Сервер - это компьютер в твоей сети. Не о совфте речь, не "серверное приложение", а сам сервер, как груда железа.
Зашарь папку в сети, и она будет доступна с других компов, настрой права пользователей, чтобы можно было только создавать файлы, но не удалять или просматривать.
И тупо копируй их.
Клиентское приложение, будет делать скриншот, сохраняя его прямиком в папку на сервере. Не нужно париться с передачей файла через серверное приложение, делай это прямым образом.
Имя файла, для уникальности, пусть имеет уникальный ID клиентского приложения (сам это мути), и timestamp, проще всего: ид_секунды_минуты_час_день_месяц_год
Только без слешей.
А на сервер посылай тупо имя файла, и сервер будет этим орудовать.

Ещё раз говорю, это в разы проще делать используя SQL сервер, и записью данных прямым образом. Но тогда проверка realtime будет немного иная, нужно будет например каждые 10 секунд, писать в бд timespamp, чтобы админским приложением сверять с временем, и если промежуток между последним обновлением больше 1 минуты - значит что-то не то (либо выключили клиентское приложение, либо вырублен комп, либо с сетью траблы).

maxturbo 10.03.2011 17:47

Ответ: Сервер+Клиент=Передача данных
 
Объясните дураку, а то понять не получается :)
С клиентом и с сервером вроде разобрался, теперь вопрос как мне с сервера отправить команду на снятие скриншота...
Допустим выбираю IP адрес в списке у кого запущенны клиент нажимаю на кнопку которая находится на серверной части и он посылает команду клиенту сделать скриншот.... :)
Я знаю что это надо делать командами типа SendNetworkData только как понять не могу :)

moka 10.03.2011 17:59

Ответ: Сервер+Клиент=Передача данных
 
Говоришь у тебя есть сервер и клиент уже, или только мысли? Используя какие технологии и протоколы ты реализовал это?
Больше инфы.

maxturbo 10.03.2011 18:32

Ответ: Сервер+Клиент=Передача данных
 
Да есть уже сервер и клиент Пока что только сделано так что сервер запущен, и когда подсоединяется клиент то на сервере выводится список всех клиентов кто подключен...
Все вроде разобрался :)

maxturbo 11.03.2011 22:21

Ответ: Сервер+Клиент=Передача данных
 
Почти закончил написание программы :) Кому интересно могу выложить :)
Программа работает Сервер+Клиент
На сервере сделал четыре функции отправки команд клиенту
1-Сделать скриншот экрана и переслать серверу ( Уже готово )
2-Просмотреть список запущенных процессов и переслать серверу ( Уже готово )
3-Сканирование всех жестких дисков, записывать в файл и пересылать серверу ( В разработке )
4-Закрыть клиента на удаленном ПК ( Уже готово )
Вот так будет работать эта программа :)


Часовой пояс GMT +4, время: 20:36.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot