Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
1-1094638585
Abajun
2004-09-08 14:16
2004.09.26
TreeView


6-1089980482
Катерина
2004-07-16 16:21
2004.09.26
FTP


1-1094676387
Паша555
2004-09-09 00:46
2004.09.26
Узнать Дату


1-1094972135
Navi
2004-09-12 10:55
2004.09.26
Владелец коллекции


14-1094798459
Holy
2004-09-10 10:40
2004.09.26
DVD Audio





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский