Сервер+Клиент=Передача данных
В общем такой вот вопрос!!! :)
Нужно сделать программу состоит она из клиента и сервера!!! Суть программы такова! На одну машину закачивается клиент и делай скриншоты рабочего стола и всего подобного что происходит там, в том числе и скрины когда играют в игры, хочу сделать чтоб период снятия скринов тоже стоял ну к примеру каждые две минуты и чтоб эти скрины отправлялись на сервер! Допустим у меня дома сервер будет запущен, а у другова юзира клиент, клиент должен работать в фоновом режиме то есть его видно не должно быть делать скриншоты и отсылать их ко мне то есть на сервер :) :) Реально ли такое организовать на PureBasic'e??? Программа будет работать в локальной сети... + Еще охота чтоб на сервере выводился список тех юзиров у кого сейчас запущен клиент этой программки в виде их IP адреса! :) Кто подскажет как можно такое организовать и реально ли это вообще :) :) |
Ответ: Сервер+Клиент=Передача данных
Реально. Но возникнут трудности с Full Screen играми, т.к. это уже немного другая история.
Остальное, не сложно. На PureBasic вроди есть всё что нужно, работа с сокетами, или получше что (уже подготовленное). Используй TCP для передачи данных. А картинки для простоты можно прямиком клиентским приложением копировать на локально зашаренную папку (не придётся делать передачу картинок по TCP). Можно ещё проще, поставить MS SQL и тупо писать имя файла и timestamp, клиентом. А серверным приложением обновлять список в риалтайм. Не придётся писать таким образом никаких серверов для юзер контроля на TCP/IP, и т.п. ЗЫ, за работниками следить решили? :( |
Ответ: Сервер+Клиент=Передача данных
Цитата:
|
Ответ: Сервер+Клиент=Передача данных
а чем радмин не устраивает?
|
Ответ: Сервер+Клиент=Передача данных
Цитата:
|
Ответ: Сервер+Клиент=Передача данных
|
Ответ: Сервер+Клиент=Передача данных
Лан со скринами все вери гуд :) Сделал теперь вот не пойму как организовать чтоб сохранялись они ко мне на компьютер сразу ну или отсылались :) Помогите :)
|
Ответ: Сервер+Клиент=Передача данных
Цитата:
Я, когда брутил радмины (по диапазонам адресов и простыми парами логин-пароль, каждый раз по 15 штук получал), к кому только не подключался. Там были и офисные работники, и домашние компьютеры, один раз с какой-то девушкой познакомился - оказалось, что она знает о радмине, но не удаляет и мы (я был не один) третьи, с кем она так знакомится. Пообщались в её блокноте (ещё я подключился к её микрофону и слышал всё, что у неё происходит, так что комментировал ситуацию в квартире), она добавила вконтактике. К слову, сказала, что хочет быть программисткой и носит очки. Другой раз подключился к каким-то парням лет 12. Не помню, чем я себя выдал, однако они стали дико материться в микрофон и посылать меня. Я сказал, что они не в той ситуации, чтоб материться, ведь я могу удалить их любимый CS, но страх им, как оказалось, не ведом. Я, не будучи злым, ничего не удалил. Так что совсем не многие замечают радмин. |
Ответ: Сервер+Клиент=Передача данных
В чём проблемма? Сохраняй прямиком на локально зашаренную папку в сети, с сервера. Типо так: "\\serverpc\media".
|
Ответ: Сервер+Клиент=Передача данных
Цитата:
|
Ответ: Сервер+Клиент=Передача данных
Сервер - это компьютер в твоей сети. Не о совфте речь, не "серверное приложение", а сам сервер, как груда железа.
Зашарь папку в сети, и она будет доступна с других компов, настрой права пользователей, чтобы можно было только создавать файлы, но не удалять или просматривать. И тупо копируй их. Клиентское приложение, будет делать скриншот, сохраняя его прямиком в папку на сервере. Не нужно париться с передачей файла через серверное приложение, делай это прямым образом. Имя файла, для уникальности, пусть имеет уникальный ID клиентского приложения (сам это мути), и timestamp, проще всего: ид_секунды_минуты_час_день_месяц_год Только без слешей. А на сервер посылай тупо имя файла, и сервер будет этим орудовать. Ещё раз говорю, это в разы проще делать используя SQL сервер, и записью данных прямым образом. Но тогда проверка realtime будет немного иная, нужно будет например каждые 10 секунд, писать в бд timespamp, чтобы админским приложением сверять с временем, и если промежуток между последним обновлением больше 1 минуты - значит что-то не то (либо выключили клиентское приложение, либо вырублен комп, либо с сетью траблы). |
Ответ: Сервер+Клиент=Передача данных
Объясните дураку, а то понять не получается :)
С клиентом и с сервером вроде разобрался, теперь вопрос как мне с сервера отправить команду на снятие скриншота... Допустим выбираю IP адрес в списке у кого запущенны клиент нажимаю на кнопку которая находится на серверной части и он посылает команду клиенту сделать скриншот.... :) Я знаю что это надо делать командами типа SendNetworkData только как понять не могу :) |
Ответ: Сервер+Клиент=Передача данных
Говоришь у тебя есть сервер и клиент уже, или только мысли? Используя какие технологии и протоколы ты реализовал это?
Больше инфы. |
Ответ: Сервер+Клиент=Передача данных
Да есть уже сервер и клиент Пока что только сделано так что сервер запущен, и когда подсоединяется клиент то на сервере выводится список всех клиентов кто подключен...
Все вроде разобрался :) |
Ответ: Сервер+Клиент=Передача данных
Почти закончил написание программы :) Кому интересно могу выложить :)
Программа работает Сервер+Клиент На сервере сделал четыре функции отправки команд клиенту 1-Сделать скриншот экрана и переслать серверу ( Уже готово ) 2-Просмотреть список запущенных процессов и переслать серверу ( Уже готово ) 3-Сканирование всех жестких дисков, записывать в файл и пересылать серверу ( В разработке ) 4-Закрыть клиента на удаленном ПК ( Уже готово ) Вот так будет работать эта программа :) |
Ответ: Сервер+Клиент=Передача данных
Назрел еще один вопрос :)
На клиенте стоит таймер, то есть когда он не может подключиться к серверу или сервер отключен запускается таймер на 5 минут после пяти минут проверяет опять подключение, и так пока не подключится... Собственно сам вопрос вот в чем... Когда клиент успешно подключается к серверу и все нормально работает, но когда я отключаю сервер мне нужно чтоб и клиент тоже отключался от сервера и запускался опять таймер, собственно сделать что то не получается... ЕСТЬ У КОГО НИБУДЬ МЫСЛИ НА ЭТУ ТЕМУ :) Есть вариант как через определенное время посылать покет данных серверу, и если сервер не принимает их значить он отключен и запускаем таймер, но думаю может есть варианты по проще у кого нибудь :) |
Ответ: Сервер+Клиент=Передача данных
Давай )))))))))) :) :) :) :)
(Ну выложи сервер + клиент) |
Ответ: Сервер+Клиент=Передача данных
IF нету сигнала
Close соединение goto x ;К таймеру ENDIF |
Ответ: Сервер+Клиент=Передача данных
Цитата:
Как допишу так выложу... :) |
Ответ: Сервер+Клиент=Передача данных
А можно так, что:
сервер написан на PureBasic под Linux а клиент потом дописан на Basic3D под Windows ??? |
Ответ: Сервер+Клиент=Передача данных
Цитата:
Хотя потрудиться придется... |
Ответ: Сервер+Клиент=Передача данных
Можно. Общаешься ведь между клиентом и сервером по независимому от платформы протоколу.
Можно хоть на эллектронике реализовать пингер и работать с ним через ethernet, и т.п. |
Ответ: Сервер+Клиент=Передача данных
Я так подумывал написать заготовку сервера под линукс, не важно на каком языке (но для этого нужно изучить и подготовить сам линукс)..
А потом подстраивать игры, программы под сервер по обменам данных. Мысль такая: "почему никто не создал мульти-сервер под линукс, чтобы потом не париться с ним." Т.е. предположить какие данные и каким образом сервер будет обрабатывать и принимать данные клиентов (входы-выходы), а потом в играх делать так, чтобы данные правильным образом передавались серверу. Да, сложно сделать такой сервер для MMORPG, но для тактических игрушек вполне сойдёт (передавать позиции игроков и т.п. значения) Здесь же можно сказать о читерстве, при хранении и обработке данных на клиенте. Но защититься от этого не так сложно. ЗЫ: с системой серверов не так уж знаком. |
Ответ: Сервер+Клиент=Передача данных
Чёт я не совсем понял твою идею. Ты имеешь ввиду что клиент обрабатывает все данные, а серверу выдаёт только то что нужно синхронизировать у других, и сервер тупо это рассылает другим?
Абсолютно не правильная политика ведения дел с сетью, это уже проверялось и никак не уступает стабильности и надёжности, плюс профит не наглядный, технически возникает слишком много проблем с синхронизацией мира и т.п. Идея благородная, но не имеет ничего общего с реалями. |
Ответ: Сервер+Клиент=Передача данных
LLI.T.A.L.K.E.R.
Вот Web-сервер на PureBasic http://purebasic.mybb.ru/viewtopic.php?id=148 Он был скомпилирован как под Winows так и под Linux. Можно и под MacOS X скомпилить если надо. Так что все реально. |
Ответ: Сервер+Клиент=Передача данных
Вложений: 2
Цитата:
Пока что только две команды которые отправляет сервер клиенту это: 1-Сделать скриншот уд. пк и переслать на сервер 2-Список запущенных программ на уд. пк и переслать серверу Есть еще команда обновление клиента, ну до обновления еще долго :) Потестируй отпишись ))) В config.cfg укажи IP адрес на котором будет запущен сервер... Порт 6832 должен быть открыт )) |
Ответ: Сервер+Клиент=Передача данных
Вот 1-ый пункт и 2-ой как сделать через твою прогу?....Что нажать надо чтобы это этакое произошло???
|
Ответ: Сервер+Клиент=Передача данных
Когда клиент подключен, то в сервере с права отоброжается его ID Имя и IP адрес, правой кнопкой на него щелкаешь, и выбираешь что те надо... :)
|
Ответ: Сервер+Клиент=Передача данных
Пишу в идентичной связке "пурик для сервера под линукс, блитц для клиента под винду". Интересует вопрос организации логин и гейм серверов. Стоит ли их разделять? Интересуют за и против по каждому варианту. Заранее спасибо
|
Ответ: Сервер+Клиент=Передача данных
Зависит от ситуации. Если нужен тот же логин для веб приложения, либо на профиле завязка разная. Либо будет расчёт серверов игровых, но один профиль.
Зависит от потребностей. |
Часовой пояс GMT +4, время: 07:35. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot