Форум: "Сети";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизTServerSocket & TClientSocket Найти похожие ветки
← →
electric (2004-07-12 12:36) [0]Клиент отправил текст на сервер. Как серверу отправить текст ЭТОМУ клиенту (ответить ему) ?
← →
Digitman © (2004-07-12 12:43) [1]в событии OnClientRead 2-м параметром тебе передан объект TServerclientWinSocket, который отражает контекст уникального соединения с данным клиентом и у которого есть точно такие же send-методы как и у объекта TClientSocket.Socket, которым ты пользуешься передавая данные серверу
← →
electric (2004-07-12 12:53) [2]если написать без номера соединения - ServerSocket.Socket.SendText(s) , то возникает ошибка сокета 10057. =(
← →
Digitman © (2004-07-12 13:53) [3]
> electric (12.07.04 12:53) [2]
> если написать без номера соединения
ему про фому, он про ерему ...
ты читать-то умеешь ? где ты увидел в [1] хоть какой-либо намек на какой-то там "номер соединения" ? где ты увидел в обработчике события OnClientRead параметр с именем ServerSocket ?
Send-метод в этом случае следует вызывать для объекта, переданного тебе 2-м параметром в процедуру-обработчик события OnClientRead ! и имя этого параметра - Socket, а не ServerSocket !
← →
tomas (2004-07-20 12:52) [4]так попробуй , да ?
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 16:10) [5]tomas (20.07.04 12:52) [4]
Друг мой, ты конечно вправе извращаться как тебе угодно, но если ты в обработчике procedure TForm1.ServerSocket1ClientRead() напишешь:
begin
Socket.SendText("Ваше сообщение доставлено, сударь");
end;
то люди будут смотреть на такой вариант с большим пониманием ;) А вот поймёшь ли ты...
← →
tomas © (2004-07-20 16:53) [6]Мне мой вариант нравиться больше однако ;-)
← →
Digitman © (2004-07-20 17:01) [7]
> tomas © (20.07.04 16:53) [6]
> Мне мой вариант нравиться больше однако
плохой вариант, как бы он тебе не "нравился"
тебе не приходило в голову взглянуть в справку и увидеть там, что sendtext() - это функция ? видать, в Борланде дураки работают, раз сделали sendtext() функцией, на результат которой великий tomas попросту пилевать хотел, потому что это ему больше нравится
← →
VID © (2004-07-20 17:06) [8]tomas © (20.07.04 16:53) [6]
Мне мой вариант нравиться больше однако ;-)
Да, твой вариант конечно куда смешней будет :) Весёлый такой вариант...
← →
tomas © (2004-07-20 18:36) [9]Однакось в инете куча примеров посылки сообщения именно таким образом :-)
← →
VID © (2004-07-20 19:13) [10]tomas © (20.07.04 18:36) [9]
Много примеров посылки, говоришь ?
Ну вот ещё один пример посылки в интернете:
http://lleo.aha.ru/na/index.shtml
← →
tomas © (2004-07-20 19:28) [11]
> VID © (20.07.04 19:13) [10]
Блин, умен не по годам :-)
Ничего, подрастешь смальца, образумишься ....
Вообще, как правило, за такие посылки рожу бьют однако :-)
← →
VID © (2004-07-20 21:46) [12]tomas © (20.07.04 19:28) [11]
А ну тебя нафиг. Я сам в своё время был же таким дауном в сокетах как ты, но во всяком случае не опровергал того, что говорят более знающие люди. А у тебя видимо возраст сказывается, упрямство.
Ну делай по-своему. Я тебе больше не советчик.
← →
SergP © (2004-07-20 22:01) [13]
> [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;
Супер!!! Прям как рвать гланды через задний проход...
← →
bas (2004-07-21 12:33) [14]А кто-нить пользовал TWinSocketStream для приема данных на сервере? А то у меня проблема: из стрима приходит всякая лажа. Хотя размер лажи совпадает с отправленым. Все сделал к хелпах и примерах в инете.
← →
Digitman © (2004-07-21 12:56) [15]
> у меня проблема: из стрима приходит всякая лажа
и при этом ты, надо понимать, 100%-но уверен, что клиент передает не "лажу"...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.033 c