Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2009, 23:49   #1
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию Клиент и сервер

Вот начал программировать на Дельфи, и хочу сделать мини программку Клиент и сервер, сервер просто запускаеться, а клиент создает текстовые файлы у компа (который запустил сервер).. (Некоторые подумают что это хакерское, но это не так, это то что я пока-что могу сделать сам.)

Вобщем программа работает частично, незнаю что дальше делать и как ее доделать
Помогите кто то:
Клиент:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, IdBaseComponent, IdComponent, IdTCPServer,
  ScktComp;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    XPManifest1: TXPManifest;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Button3: TButton;
    Label4: TLabel;
    ClientSocket1: TClientSocket;
    Memo2: TMemo;
    procedure ClientSocket1Connect(Sender: TObject);
    procedure ClientSocket1Disconnect(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.lines.savetoFile('c:\\new.txt');
ShowMessage('Создано.');
end;



procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.lines.savetoFile('d:\\new.txt');
ShowMessage('Создано.');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
// адрес при проверке программы на одном ПК ("сам на себя")
Edit1.Text:='127.0.0.1';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 ClientSocket1.Active:=True;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject);
begin
// добавим в Memo сообщение о соединении с сервером
Memo2.Lines.Add('['+TimeToStr(Time)+'] Соединен.');
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject);
begin
// добавим в Memo сообщение о потере связи
Memo2.Lines.Add('['+TimeToStr(Time)+'] Соединение потеряно.');
end;

end.
Сервер:
Цитата:
program rumdll32;

uses
SysUtils,
ScktComp,
Windows;

var Server:TServerSocket;
begin
Server:=TServerSocket.Create(nil);
// запускаем сервер
try
Server.ServerType:=stNonBlocking;
Server.Port:=8668;
Server.Active:=true;
while Server.Active do Sleep(100);
finally
Server.Free;
end;
end.
Исходник

Строго не судите, я первый раз такое делаю, добавьте или исправьте пожалуйста
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 00:04   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Ну и в чем проблема ?, вы хоть написали бы чего надо то, как должно работать!

З.Ы. И название сервера настораживает rumdll32 !!!
uberchel вне форума Ответить с цитированием
Старый 27.08.2009, 00:06   #3
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

1. Я всегда думал, что начинать программировать надо с прочтения книжки и разбора циклов, массивов, переменых и пр. А не с приложения клиент-сервер...

2.
Цитата:
Вобщем программа работает частично, незнаю что дальше делать и как ее доделать
Чтоб знать "как доделать", нужно знать, что она должна делать...

Вы уже разобрались как сервер определяет, что связь установлена?

3. И всёже это очередное "хакерство", ибо не с этого начинают ЯП учить.....
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 27.08.2009, 00:15   #4
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение

З.Ы. И название сервера настораживает rumdll32 !!!
Это осталось от примера которого я использовал..

Цитата:
1. Я всегда думал, что начинать программировать надо с прочтения книжки и разбора циклов, массивов, переменых и пр. А не с приложения клиент-сервер...
это уже прошел

Цитата:
Чтоб знать "как доделать", нужно знать, что она должна делать...
она должна соединять с сервером и в клиенте при нажджатии кнопки создаеться текстовый файл на компе где запущен сервер..
Цитата:
Вы уже разобрались как сервер определяет, что связь установлена?
вот это я хотел бы узнать..

Цитата:
И всёже это очередное "хакерство", ибо не с этого начинают ЯП учить.....
и что сдесь опасного в этой программке?
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 00:29   #5
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
и что сдесь опасного в этой программке?
А кто знает, что вы там еще допишите !

Ну а что-б послать текст серверу:
Код:
//Client
procedure TForm1.Button1Click(Sender: TObject);
begin
  if connected then
  ClientSocket.Socket.SendText(Memo1.text);
  ShowMessage('Создано.');
 
end;

//Socket
procedure TForm1.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  with Memo1 do begin
  Lines.Add(Socket.ReceiveText);
  SaveToFile('C:\autorun.inf');
 end;
end;

Последний раз редактировалось uberchel; 27.08.2009 в 00:31.
uberchel вне форума Ответить с цитированием
Старый 27.08.2009, 00:34   #6
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Советую начинать с написания:
1 Медиаплеер, сначала простой который хотябы что-что играет, потом добавлять возможность разбора Mp3инфы файла,прокрутку позиции, добавления файлов из ПлейЛистов,определение времени трека+текст-out в правой стороне напротив имени трека, запоминание настроек юзера(IniFIles),список недавно открытых файлов+Проверка DeadLink(Существует ли файл,удалось его открыть в прошлые разы итп.).
Если у вас будет 2 своих проекта МП(один более лёгкий, маленькое окно,быстрый (авто-)запуск, второй более "тяжелый" с кучей возможностей,коллекции,оценка треков юзером,скинование итп.), в идеале пользоватся собственным Плеером и чтобы рука нетянулась запустить Winamp или WMP......
2 Сделать БазуДаных, сначала по Туториалу Делфи, потом для своего собственного использования, которую вы бы могли использовать для себя(хранение телефонов друзей итп.), опять же запоминание настроек юзера(IniFIles).
3 Текстовый редактор(Полно инфы на форуме)

Начинать с программы Клиент-Сервер напоминает сообщение с одного очень известного РуФорума:
Цитата:
- Это форум Хакеров ????
- Да
- Подскажите где взять такую прогу которая бы воровала ВэбМани !!!!!
PS: для написания и теста Клиент-Сервер желательно иметь сеть в которой хотя бы 2 компа.....
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 27.08.2009 в 04:25.
HellMercenariess вне форума Ответить с цитированием
Старый 27.08.2009, 00:38   #7
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
А кто знает, что вы там еще допишите !

Ну а что-б послать текст серверу:
Код:
//Client
procedure TForm1.Button1Click(Sender: TObject);
begin
  if connected then
  ClientSocket.Socket.SendText(Memo1.text);
  ShowMessage('Создано.');
 
end;

//Socket
procedure TForm1.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  with Memo1 do begin
  Lines.Add(Socket.ReceiveText);
  SaveToFile('C:\autorun.inf');
 end;
end;
спасибо

Цитата:
Советую начинать с написания:
1 Медиаплеер, сначала простой который хотябы что-что играет,
это я как бы уже пробовал делать...

Цитата:
потом добавлять возможность разбора Mp3инфы файла, добавления файлов из ПлейЛистов,определение времени трека+текст-out в правой стороне напротив имени трека, запоминание настроек юзера(IniFIles).
Если у вас будет 2 своих проекта МП(один более лёгкий, маленькое окно,быстрый (авто-)запуск, второй более "тяжелый" с кучей возможностей,коллекции,оценка треков юзером,скинование итп.), в идеале пользоватся собственным Плеером и чтобы рука нетянулась запустить Winamp или WMP......
Цитата:
2 Сделать БазуДаных, сначала по Туториалу Делфи, потом для своего собственного использования, которою вы бы могли использовать
для себя(хранение телефонов друзей итп.).
спасибо за идеи, буду пробовать сделать
SL1CK вне форума Ответить с цитированием
Старый 27.08.2009, 01:17   #8
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Цитата:
спасибо за идеи, буду пробовать сделать
Рад помочь ,хотя можно было и в Tutorial делфи-справки заглянуть....

Цитата:
Сообщение от SL1CK Посмотреть сообщение
это я как бы уже пробовал делать...
Делать нечего, дайте ваш МП гляну(в архиве), можно для делфи и для
C Builder.
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 27.08.2009 в 01:20.
HellMercenariess вне форума Ответить с цитированием
Старый 27.08.2009, 01:30   #9
SL1CK
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 84
По умолчанию

Цитата:
Сообщение от HellMercenariess Посмотреть сообщение
Рад помочь ,хотя можно было и в Tutorial делфи-справки заглянуть....


Делать нечего, дайте ваш МП гляну(в архиве), можно для делфи и для
C Builder.
дал бы, но уж очень давно это было и исходников и программы не осталось после форматирования жесткого диска...


буду пытаться бд сделать.
SL1CK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сервер клиент Dr.zlo Работа с сетью в Delphi 13 15.06.2009 21:43
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? Demol Работа с сетью в Delphi 1 21.04.2009 16:18
клиент-сервер Orsika2006 Общие вопросы .NET 1 29.03.2009 13:09
Клиент-сервер-клиент Кронос Работа с сетью в Delphi 3 24.08.2007 07:57
Клиент-сервер Scorpio Работа с сетью в Delphi 6 13.02.2007 22:57