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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2008, 08:45   #11
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию

ясно спасибо! а как тогда сделать чтобы можно было менять бинд.. мне нужно будет эту работу запустить в институте?
FAiver вне форума Ответить с цитированием
Старый 24.03.2008, 09:57   #12
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Так создавайте структуру бинда в run-time
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.03.2008, 11:50   #13
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию

извиняюсь за свою непонятливость... но можно это на примере показать?
поставил bind на 127.0.0.1:81 всёравно не работает

Последний раз редактировалось FAiver; 24.03.2008 в 11:57.
FAiver вне форума Ответить с цитированием
Старый 24.03.2008, 13:10   #14
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

В вложении пример работы IdTcpserver И Idtcpclient
написал вроде наглядно, если что- то непонятно будет, спрашивай
Вложения
Тип файла: rar ТЕСТIDTCP.rar (438.1 Кб, 86 просмотров)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.03.2008, 16:35   #15
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию

ОГРОМНОЕ СПАСИБО!!!

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

Последний раз редактировалось FAiver; 24.03.2008 в 17:39.
FAiver вне форума Ответить с цитированием
Старый 24.03.2008, 16:44   #16
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Это уже не сюда.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 25.03.2008, 23:50   #17
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию

вот веть.. думал разберусь... а нетдоконца не получается...
разобрался как строки отправлять но немогу отправить TStrings т.е. загоняю диски в TStrings и толи они не отправляются... толи недоходят
вот код:
Код:
procedure TForm1.tcpservExecute(AThread: TIdPeerThread);
var inpstr:string;
    ld : DWORD;   
    i : integer;
    Strok:TStrings;
begin
with aThread.Connection do
begin
Strok:=TStrings.Create;
inpstr:=ReadLn();
memo1.Lines.Add(inpstr);
if inpstr='getdisk' then
    begin
    ld := GetLogicalDrives;   
    for i := 0 to 25 do
        begin
        if (ld and (1 shl i)) <> 0 then
        Strok.Add(Char(Ord('A') + i) + ':\');
        end;
    writestrings(Strok);
   Memo1.Lines.AddStrings(strok);
    end
    else writeln('Нет такой команды');
    end;
Strok.Free
end;

Последний раз редактировалось FAiver; 26.03.2008 в 12:09.
FAiver вне форума Ответить с цитированием
Старый 26.03.2008, 22:47   #18
FAiver
Пользователь
 
Аватар для FAiver
 
Регистрация: 13.07.2007
Сообщений: 60
По умолчанию

ну вроде стой задачей разобрался но клиент всё равно отказывается принимать Strings т.е. он просто виснет и всё... хотя сервер передаёт! проверил снифером. Клиент принимает вроде данные но както странно...
вобщем вот код сервера:
Код:
procedure TForm1.tcpservExecute(AThread: TIdPeerThread);
var inpstr,s:string;
    ld : DWORD;   
    i : integer;
    Strok:TStrings;
begin
with aThread.Connection do
begin
Strok:=TStringList.Create;
inpstr:=trim(ReadLn());
memo1.Lines.Add(inpstr);
if inpstr='getdisk' then
    begin
    ld := GetLogicalDrives;   
    for i := 0 to 25 do
        begin
        if (ld and (1 shl i)) <> 0 then
            begin
            s:=(Char(Ord('A') + i) + ':\');
            Strok.Add(s);
            end;
        end;
   aThread.Connection.WriteStrings(Strok);
   Memo1.Lines.Assign(strok);
    end
    else writeln('Нет такой команды');
    end;
Strok.Free;
end;
а вот клиента:

Код:
procedure TForm1.Button3Click(Sender: TObject);
var strings:Tstrings;
begin
strings:=TStringList.Create;
if tcpclient.Connected then
  begin
    strings.Clear;
    tcpclient.WriteLn('getdisk');
    tcpclient.ReadStrings(strings);
    combobox1.Items.AddStrings(strings);
    Memo1.Lines.Assign(strings);
    strings.Free;
  end;
end;
причем что интересно вот отснифанные отправленые данные выглядят как каждая строка отправленная отдельно! а принятые в снифере выглядят так
1-я часть:
A:\
C:\
D:\
ЇЭ
2-я часть:
E:\
F:\
G:\
H:\
I:\
J:\
K:\
L:\
M:\
X:\
х

ПОМОГИТЕ ПОЖАЛУЙСТО!!!! ОЧЕНЬ СРОЧНО!
FAiver вне форума Ответить с цитированием
Старый 31.03.2008, 08:51   #19
ЧИЖ
Форумчанин
 
Аватар для ЧИЖ
 
Регистрация: 24.02.2007
Сообщений: 104
По умолчанию

К стати почти аналогичная проблема - тока клиент не виснет а орет "Read timeout" - ридтаймаут ставил самый разный - от этого зависит тока через скока заорет

у меня в ответ на строчку от клиента сервер должен отправлять поток - но клиент не то что поток от него принимать не хочет...... (строчку и число вместо потока пробовал - так же)
Разберемся.......
ЧИЖ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Web сервер Briz Операционные системы общие вопросы 3 13.11.2007 10:10
многопоточный сервер мандарин Работа с сетью в Delphi 6 24.04.2007 07:22
Многопоточный Ping Квэнди Работа с сетью в Delphi 0 18.12.2006 15:01