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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2015, 19:21   #1
eugenerock
 
Регистрация: 10.06.2015
Сообщений: 4
По умолчанию Socket, TCP, UDP

Доброго времени суток! В общем, ситуация следующая: там где выделено жирным курсивом надо прописать сообщение для отправки (string, real, integer и бинарные - естественно не все сразу, что-то одно). После получения сервер должен отправить полученное сообщение назад для проверки. Не понимаю как это реализовать.
Знающие гуру, подскажите.

Пишется на Socket, UDP, TCP. Покажите хотя бы пример и расстолкуйте все, пожалуйста. Дело очень срочное...


Код:
procedure TForm1.SendBtnClick(Sender: TObject);
var t1, t2,t3: TTime;
i,n,g,k:Integer;
ft:TextFile;
begin
 t1:=Now; 
t2:=t1; 
n:=100;
  AssignFile(ft,'Test.txt');
  Rewrite(ft);
  while   t2-t1<0.0005   do
  begin
    t3:=Now;
      for i :=1 to n do
      begin
       k:=0;
       for g:=1 to 1000000 do Inc(k);
       if k<0 then Break;
      end;
     t2:=Now;
     Writeln(ft, TimeToStr(t2-t3)+'   n='+inttostr(n));
     n:=n+100;
  end;
  CloseFile(ft);
end;

Последний раз редактировалось Stilet; 13.06.2015 в 19:53.
eugenerock вне форума Ответить с цитированием
Старый 13.06.2015, 20:16   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

отправлять-то что?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.06.2015, 21:49   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

http://www.programmersforum.ru/showthread.php?t=279467
Не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2015, 11:37   #4
eugenerock
 
Регистрация: 10.06.2015
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не совсем. Идея вот в чем. Есть многопользовательский чат, написанный через TServerSocket и TClientSocket. По нажатии отправить: серверу отправляется кусок текста (определенного объема). В файл Test.txt записывается время и количество раз сколько данное сообщение было отправлено за определенный промежуток времени. Мне необходимо достичь такого результата, чтобы при отправке сообщения (естественно объем сообщения мы увеличиваем с каждой попыткой) программа выдала ошибку, чтоб не может передать данный объем информации за это время.
Вопрос в том как это реализовать. Не могу понять. Время в файле перестало считаться, только количество отправки.

Вот код всей процедуры:
Код:
procedure TForm1.SendBtnClick(Sender: TObject);
var t1, t2,t3: TTime;
i,n,g,k:Integer;
ft:TextFile;
begin
// проверка, в каком режиме находится программа
  If ServerSocket.Active=True then
// отправляем сообщение с сервера всем пользователям
    For i:=0 to ServerSocket.Socket.ActiveConnections-1 do
      ServerSocket.Socket.Connections[i].SendText('0['+TimeToStr(Time)+']  '+NikEdit.Text+':  '+TextEdit.Text)
  else
  t1:=Now; t2:=t1; n:=1;
  AssignFile(ft,'Test.txt');
  Rewrite(ft);
  while   t2-t1<0.0005   do
  begin
    t3:=Now;
      for i :=1 to n do
     begin
        TextEdit.Text:='Вы снова здесь, изменчивые тени,\ Меня тревожившие с давних пор,\'
        +'Найдется ль конец вам воплощение,\ Или остыл мой молодой задор?\ Но вы, как дым, надвинулись, ведения\'
        +'Туманом мне застлавши кругозор.\ Ловлю дыханье ваше грудью всею\ И возде вас душою молодею.\'
        +'Вы воскресили прошлого картины,\ Былые дни, былые вечера.\ Вдали всплывает сказкою старинной\'
        +'Любви и дружбы первая пора.\ Пронизанный до самой сердцевины\ Тоской тех лет и жаждою добра,\'
        +'Я всех, кто жил в тот полдень лучезарный\ Опять припоминаю благородно.\ Им, не услышать следующих песен'
        +'Кому я предыдущие читал.\ Распался круг, который был так тесен,\ Шум первых одобрений отзвучал.\'
        +'Непосвященных голос легковесен,\ И, признаюсь, мне страшно их похвал,\ А прежние ценители и судьи\'
        +'Рассеялись, кто где, среди безлюдья.'
      end;
     t2:=Now;
     Writeln(ft, TimeToStr(t2-t3)+'   n='+inttostr(n));
     n:=n+1;
     // отправляем сообщение с клиента
    ClientSocket.Socket.SendText('0['+TimeToStr(Time)+']  '+NikEdit.Text+':  '+TextEdit.Text);
    // отобразим сообщение в ChatMemo
    ChatMemo.Lines.Add('['+TimeToStr(Time)+']  '+NikEdit.Text+':  '+TextEdit.Text);
    // очищаем TextEdit
    TextEdit.Clear;
  end;
  CloseFile(ft);
end;
Понимаю, что ошибка просто решается, но видимо у меня не хватает знаний...

Последний раз редактировалось Stilet; 14.06.2015 в 12:06.
eugenerock вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачивание файлов по UDP (или TCP) jekahm Работа с сетью в Delphi 3 25.03.2011 04:16
Идея связывания двух программ по TCP\UDP Ruschel Общие вопросы C/C++ 0 06.07.2010 13:23
перехват TCP и UDP пакетов prog.delphin Работа с сетью в Delphi 4 31.03.2010 13:21
В чём разница между TCP и UDP? TwiX Работа с сетью в Delphi 4 28.07.2009 23:54
UDP & Socket Shouldercannon Работа с сетью в Delphi 14 13.10.2008 17:23