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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2010, 10:27   #1
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию Клиент-сервер

Есть 2 приложения, клиент и сервер, в сервере есть Memo1, при каждом запуске клиент должен коннектиться к серверу и копировать данные из Memo1 сервера, в Memo1 Клиента.
Как такое можно реализовать?
Nice42ru вне форума Ответить с цитированием
Старый 20.01.2010, 10:32   #2
Сергeй
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Nice42ru Посмотреть сообщение
Есть 2 приложения, клиент и сервер, в сервере есть Memo1, при каждом запуске клиент должен коннектиться к серверу и копировать данные из Memo1 сервера, в Memo1 Клиента.
Как такое можно реализовать?
Руками и головой.
А что еще ты хотел услышать ?
Сергeй вне форума Ответить с цитированием
Старый 20.01.2010, 10:35   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Подключаетесь к серверу создаете сокет передаете в сокет нужную информацию считываете из него ее ...
dampirik вне форума Ответить с цитированием
Старый 20.01.2010, 10:36   #4
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию

Цитата:
Сообщение от Сергeй Посмотреть сообщение
Руками и головой.
А что еще ты хотел услышать ?
Я хотел увидить код который можно использовать.
Nice42ru вне форума Ответить с цитированием
Старый 20.01.2010, 10:38   #5
Сергeй
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Nice42ru Посмотреть сообщение
Я хотел увидить код который можно использовать.
Код надо писать самому)
Или оплачивать работу того, кто напишет за тебя код, который ты выдашь преподу за свой собственный)
Сергeй вне форума Ответить с цитированием
Старый 20.01.2010, 10:40   #6
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию

Какой препод? я учусь в 9 классе! Я прошу не полную программу а кусок передачи данных который я бы мог использовать в своей программе.
Nice42ru вне форума Ответить с цитированием
Старый 20.01.2010, 10:44   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Nice42ru
Иногда с компиляторами поставляются примеры. Рекомендую поискать папку с названием а-ля DEMOS и там уже вычленить пример работы с сокетом.
Вообще они не сложные, если не ошибаюсь даже в хелпах примеры подают.
Между прочим не вижу в какой среде ты пишешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2010, 10:45   #8
Сергeй
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Nice42ru Посмотреть сообщение
Какой препод? я учусь в 9 классе! Я прошу не полную программу а кусок передачи данных который я бы мог использовать в своей программе.
Ну держи)

// передатчик
Connection.SendText(Memo.Lines.Text );

// приемник
Memo.Lines.Text := Connection.ReceiveText;
Сергeй вне форума Ответить с цитированием
Старый 20.01.2010, 10:47   #9
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Иногда с компиляторами поставляются примеры. Рекомендую поискать папку с названием а-ля DEMOS и там уже вычленить пример работы с сокетом.
Вообще они не сложные, если не ошибаюсь даже в хелпах примеры подают.
Между прочим не вижу в какой среде ты пишешь.
Использую Delphi 7

Всем спасибо, разобрался с помощью вот этих кодов:

Код:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      {Определяем порт и запускаем сервер}
      ServerSocket1.Port := 1025;
      {Метод Insert вставляет строку в массив в указанную позицию}
      Memo2.Lines.Insert(0,'Server starting');
      ServerSocket1.Open;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      {Останавливаем сервер}
      ServerSocket1.Active := False;
      Memo2.Lines.Insert(0,'Server stopped');
    end;
    
    procedure TForm1.ServerSocket1Listen(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      {Здесь сервер "прослушивает" сокет на наличие клиентов}
      Memo2.Lines.Insert(0,'Listening on port '+IntToStr(ServerSocket1.Port));
    end;
    
    procedure TForm1.ServerSocket1Accept(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      {Здесь сервер принимает клиента}
      Memo2.Lines.Insert(0,'Client connection accepted');
    end;
    
    procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      {Здесь клиент подсоединяется}
      Memo2.Lines.Insert(0,'Client connected');
    end;
    
    procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      {Здесь клиент отсоединяется}
      Memo2.Lines.Insert(0,'Client disconnected');
    end;
    
    procedure TForm1.ServerSocket1ClientError(Sender: TObject;
      Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
    begin
      {Произошла ошибка - выводим ее код}
      Memo2.Lines.Insert(0,'Client error. Code = '+IntToStr(ErrorCode));
    end;
    
    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      {От клиента получено сообщение - выводим его в Memo1}
      Memo2.Lines.Insert(0,'Message received from client');
      Memo1.Lines.Insert(0,'> '+Socket.ReceiveText);
    end;
    
    procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      {Теперь можно слать данные в сокет}
      Memo2.Lines.Insert(0,'Now can write to socket');
    end;
    
    procedure TForm1.ServerSocket1GetSocket(Sender: TObject; Socket: Integer;
      var ClientSocket: TServerClientWinSocket);
    begin
      Memo2.Lines.Insert(0,'Get socket');
    end;
    
    procedure TForm1.ServerSocket1GetThread(Sender: TObject;
      ClientSocket: TServerClientWinSocket;
      var SocketThread: TServerClientThread);
    begin
      Memo2.Lines.Insert(0,'Get Thread');
    end;
    
    procedure TForm1.ServerSocket1ThreadEnd(Sender: TObject;
      Thread: TServerClientThread);
    begin
      Memo2.Lines.Insert(0,'Thread end');
    end;
    
    procedure TForm1.ServerSocket1ThreadStart(Sender: TObject;
      Thread: TServerClientThread);
    begin
      Memo2.Lines.Insert(0,'Thread start');
    end;
    
    procedure TForm1.Button3Click(Sender: TObject);
     var i: Integer;
    begin
      {Посылаем ВСЕМ клиентам сообщение из Edit1}
      for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do begin
       ServerSocket1.Socket.Connections[i].SendText(Edit1.Text);
      end;
      Memo1.Lines.Insert(0,'< '+Edit1.Text);
    end;

Последний раз редактировалось Stilet; 20.01.2010 в 12:03.
Nice42ru вне форума Ответить с цитированием
Старый 20.01.2010, 11:23   #10
Сергeй
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 92
По умолчанию

Ох и ждут тебя грабли злые)
Сергeй вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
клиент-сервер Pliks Общие вопросы по Java, Java SE, Kotlin 2 10.12.2009 10:33
клиент сервер dampirik Помощь студентам 0 28.09.2009 01:29
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? Demol Работа с сетью в Delphi 1 21.04.2009 16:18
Клиент-сервер-клиент Кронос Работа с сетью в Delphi 3 24.08.2007 07:57
клиент сервер Oksana1988 Фриланс 3 10.04.2007 12:12