![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TServerSocket & TClientSocket [D6, Win95/98]
electric © (2004-07-12 12:36:00)Клиент отправил текст на сервер. Как серверу отправить текст ЭТОМУ клиенту (ответить ему) ?
Digitman (2004-07-21 12:56:00) [1]
> у меня проблема: из стрима приходит всякая лажа
и при этом ты, надо понимать, 100%-но уверен, что клиент передает не "лажу"...
bas (2004-07-21 12:33:00) [2]А кто-нить пользовал TWinSocketStream для приема данных на сервере? А то у меня проблема: из стрима приходит всякая лажа. Хотя размер лажи совпадает с отправленым. Все сделал к хелпах и примерах в инете.
SergP (2004-07-20 22:01:00) [3]
> [4] tomas (20.07.04 12:52)
> так попробуй , да ?
>
> procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
> Socket: TCustomWinSocket);
> Var
> I : integer;
> begin
>
> For I := 0 to ServerSocket1.Socket.ActiveConnections do
> begin
> If ServerSocket1.Socket.Connections[I] = socket then break;
> end;
>
> ServerSocket1.Socket.Connections[I].SendText('Ваше
> сообщение доставлено ...')
> end;
Супер!!! Прям как рвать гланды через задний проход...
VID (2004-07-20 21:46:00) [4]tomas © (20.07.04 19:28) [11]
А ну тебя нафиг. Я сам в своё время был же таким дауном в сокетах как ты, но во всяком случае не опровергал того, что говорят более знающие люди. А у тебя видимо возраст сказывается, упрямство.
Ну делай по-своему. Я тебе больше не советчик.
tomas (2004-07-20 19:28:00) [5]
> VID © (20.07.04 19:13) [10]
Блин, умен не по годам :-)
Ничего, подрастешь смальца, образумишься ....
Вообще, как правило, за такие посылки рожу бьют однако :-)
VID (2004-07-20 19:13:00) [6]tomas © (20.07.04 18:36) [9]
Много примеров посылки, говоришь ?
Ну вот ещё один пример посылки в интернете:
http://lleo.aha.ru/na/index.shtml
tomas (2004-07-20 18:36:00) [7]Однакось в инете куча примеров посылки сообщения именно таким образом :-)
VID (2004-07-20 17:06:00) [8]tomas © (20.07.04 16:53) [6]
Мне мой вариант нравиться больше однако ;-)
Да, твой вариант конечно куда смешней будет :) Весёлый такой вариант...
Digitman (2004-07-20 17:01:00) [9]
> tomas © (20.07.04 16:53) [6]
> Мне мой вариант нравиться больше однако
плохой вариант, как бы он тебе не "нравился"
тебе не приходило в голову взглянуть в справку и увидеть там, что sendtext() - это функция? видать, в Борланде дураки работают, раз сделали sendtext() функцией, на результат которой великий tomas попросту пилевать хотел, потому что это ему больше нравится
tomas (2004-07-20 16:53:00) [10]Мне мой вариант нравиться больше однако ;-)
VID (2004-07-20 16:10:00) [11]tomas (20.07.04 12:52) [4]
Друг мой, ты конечно вправе извращаться как тебе угодно, но если ты в обработчике procedure TForm1.ServerSocket1ClientRead() напишешь:
begin
Socket.SendText('Ваше сообщение доставлено, сударь');
end;
то люди будут смотреть на такой вариант с большим пониманием ;) А вот поймёшь ли ты...
tomas (2004-07-20 12:52:00) [12]так попробуй , да ?
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
Var
I : integer;
begin
For I := 0 to ServerSocket1.Socket.ActiveConnections do
begin
If ServerSocket1.Socket.Connections[I] = socket then break;
end;
ServerSocket1.Socket.Connections[I].SendText('Ваше сообщение доставлено ...')
end;
Digitman (2004-07-12 13:53:00) [13]
> electric (12.07.04 12:53) [2]
> если написать без номера соединения
ему про фому, он про ерему ...
ты читать-то умеешь ? где ты увидел в [1] хоть какой-либо намек на какой-то там "номер соединения" ? где ты увидел в обработчике события OnClientRead параметр с именем ServerSocket ?
Send-метод в этом случае следует вызывать для объекта, переданного тебе 2-м параметром в процедуру-обработчик события OnClientRead ! и имя этого параметра - Socket, а не ServerSocket !
electric (2004-07-12 12:53:00) [14]если написать без номера соединения - ServerSocket.Socket.SendText(s) , то возникает ошибка сокета 10057. =(
Digitman (2004-07-12 12:43:00) [15]в событии OnClientRead 2-м параметром тебе передан объект TServerclientWinSocket, который отражает контекст уникального соединения с данным клиентом и у которого есть точно такие же send-методы как и у объекта TClientSocket.Socket, которым ты пользуешься передавая данные серверу