powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TCPServer, TCPClient
15 сообщений из 15, страница 1 из 1
TCPServer, TCPClient
    #32078949
Херург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь работал в Дельфи7 с компоненттами TCPServer, TCPClient? Нужен пример обмена тесктовыми сообщениями по сети между компьютерами с помощью этих компонентов.
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #32078994
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. С этими не работал, а вот с сокетами в демках пример был чата - посмотри там. Думаю, что там принцип тот же.
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #32156603
kisly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там правда глюк: непонятно как узнать кол-во активных пользователей!!!!
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #32157115
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Из 6-х делфей посмотри демки по Indy. В 7-ке почему-то их нет :-(
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #32358762
Afo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Afo
Гость
Та же проблема, в сокетах хотя бы SendText был, а в седьмой - нет нифига!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
TCPServer, TCPClient
    #32912023
Morfey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервер
TCPServer.Host:=127.0.0.1; //адрес сервера
TCPServer.Port:=301; //порт
TCPServer.Active; // активируем сервер
// При желании можешь добавить проверку активации

Клиент
TCPClient.RemoteHost:=127.0.0.1; //Выставляем адрес сервера
TCPClient.RemotePort:=301; // Выставляем порт коннекта
TCPClient.Connect; //Подключаемся
// можешь добавить проверку подключения If ... then ...

Кнопа1
TCPClient.Sendln(TCPClient.LocalHost+':'+TCPClient.LocalPort+'-'+edit.text);
// Отсылаем на сервер (Host:Port-сообщение клиента)

Реакция сервера
Procedure TCPServerAссept // (помоему так)
begin
memo.lines.add(ClientSocket.RemoteHost+':'+ClientSocket.RemotePort+'-'+ClientSocket.Receive); // Если что-то пришло...добавляем в memo строку Host:Port-сообщение клиента
end;

Примерно так.... до конца я сам ещё не разобрался (с обратной связью помоему тоже самое: только не путай SendLn и ReceiveLn)...
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #33371292
qqqqq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу процедуры TCPServerAссept то она выполняется только тогда, когда происходит соединение а, не кода что то приходит на порт, поэтому ставить в ней memo.lines.add........бессмысленно
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #33371504
Misc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На GetThread создаешь свой поток, в котором и принимаешь сообщения
Код: plaintext
1.
2.
3.
4.
5.
 procedure  TDSrData.TcpServer1GetThread(Sender: TObject;
   var  ClientSocketThread: TClientSocketThread);
 begin 
ClientSocketThread:=TMyDataThread.Create(TTcpServer(Sender).ServerSocketThread);
 end ;
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #33371675
qqqqq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть код:
----------------------------
unit Unit1;

interface

uses
.........................
.........................

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
TCPClient1.connect;
TCPClient1.Sendln(edit1.text);
end;

procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
var
s:string;
begin
s:=ClientSocket.receiveln;
while s<>'' do begin
memo1.Lines.add(ClientSocket.RemoteHost+': '+s);
s:=ClientSocket.receiveln;
end;
TCPClient1.Disconnect;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
TCPClient1.Active:=false;
TCPServer1.Active:=false;
Form1.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
TCPClient1.RemoteHost:=edit2.Text;
TCPClient1.RemotePort:='1010';
TCPClient1.Active:=true;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
TCPServer1.LocalHost:=edit3.Text;
TCPServer1.LocalPort:='1010';
TCPServer1.Active:=true;
end;

end.
-----------------------------
когда тестируешь на одном (своем) копьютере все ОК
когда запускаешь на 2 компьютерах то почему то связь односторонняя.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
TCPServer, TCPClient
    #34630885
[RIGID]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TCPServer1.LocalHost нужно присвоить 0.0.0.0
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #34631282
Фотография xxx_GMS_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай проще: в каталоге %DELPHI DIR%\bin\ есть файлик "dclsockets[ВЕРСИЯ].bpl". Для седьмой дельфи версия будет "7х" (скорее всего "70"). Проинсталь его в палитру - там два компонента: TServerSocket и TClientSocket, вот и будет тебе счастье У них и SendText есть, и ReceiveText... И количество подключений у сервера не сложно узнать
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #34631459
softmaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А реализацию SendText кто-нибудь видел?
Посмотрите - узнаете много нового.


--
Если я рассуждаю логично, это значит только то, что я не сумасшедший, но вовсе не доказывает, что я прав (с)И.П. Павлов
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #34631627
Фотография xxx_GMS_xxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softmakerА реализацию SendText кто-нибудь видел?
Посмотрите - узнаете много нового.

Я видел. Чем тебе реализация не угодила? Просто поскольку часто пересылают строки сделали небольшую обертку для SendBuf... Глянь реализацию SendBuf - там тоже ничего военного. И что с того?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
TCPServer, TCPClient
    #38224131
Koko18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xxx_GMS_xxx,

можео ли переслать сообщение от сервера клиенту?
...
Рейтинг: 0 / 0
TCPServer, TCPClient
    #38224743
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Koko18,

Он не ответит. он заблокирован

xxx_GMS_xxxTServerSocket и TClientSocket, вот и будет тебе счастье У них и SendText есть, и ReceiveText.

http://www.codenet.ru/progr/bcb/sockets.php

http://delphi-faq.zoxt.net/100.htm
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TCPServer, TCPClient
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]