Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TCPServer, TCPClient / 15 сообщений из 15, страница 1 из 1
13.12.2002, 06:49
    #32078949
Херург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Кто-нибудь работал в Дельфи7 с компоненттами TCPServer, TCPClient? Нужен пример обмена тесктовыми сообщениями по сети между компьютерами с помощью этих компонентов.
...
Рейтинг: 0 / 0
13.12.2002, 12:12
    #32078994
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Привет. С этими не работал, а вот с сокетами в демках пример был чата - посмотри там. Думаю, что там принцип тот же.
...
Рейтинг: 0 / 0
09.05.2003, 14:00
    #32156603
kisly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Там правда глюк: непонятно как узнать кол-во активных пользователей!!!!
...
Рейтинг: 0 / 0
12.05.2003, 08:19
    #32157115
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Из 6-х делфей посмотри демки по Indy. В 7-ке почему-то их нет :-(
...
Рейтинг: 0 / 0
20.12.2003, 09:41
    #32358762
Afo
Afo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Та же проблема, в сокетах хотя бы SendText был, а в седьмой - нет нифига!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.02.2005, 15:44
    #32912023
Morfey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Сервер
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
10.11.2005, 14:14
    #33371292
qqqqq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
По поводу процедуры TCPServerAссept то она выполняется только тогда, когда происходит соединение а, не кода что то приходит на порт, поэтому ставить в ней memo.lines.add........бессмысленно
...
Рейтинг: 0 / 0
10.11.2005, 15:14
    #33371504
Misc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
На 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
10.11.2005, 16:11
    #33371675
qqqqq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
есть код:
----------------------------
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
Период между сообщениями больше года.
01.07.2007, 21:37
    #34630885
[RIGID]
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
TCPServer1.LocalHost нужно присвоить 0.0.0.0
...
Рейтинг: 0 / 0
02.07.2007, 09:58
    #34631282
xxx_GMS_xxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
Сделай проще: в каталоге %DELPHI DIR%\bin\ есть файлик "dclsockets[ВЕРСИЯ].bpl". Для седьмой дельфи версия будет "7х" (скорее всего "70"). Проинсталь его в палитру - там два компонента: TServerSocket и TClientSocket, вот и будет тебе счастье У них и SendText есть, и ReceiveText... И количество подключений у сервера не сложно узнать
...
Рейтинг: 0 / 0
02.07.2007, 11:08
    #34631459
softmaker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TCPServer, TCPClient
А реализацию SendText кто-нибудь видел?
Посмотрите - узнаете много нового.


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

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

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

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

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

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

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


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