Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

Посылка сообщения определенному пользователю   Найти похожие ветки 

 
StelZ ©   (2002-03-04 23:05) [0]

Привет, Мастера! Скажите, пожалуйста, как через ServerSocket можно послать текст (или файл) клиенту с определенным IP-адресом?


 
Eraser ©   (2002-03-05 09:20) [1]

Когда клиент коннектится ты можещь узнать его ip
ServerSocket1.Socket.Connections[0].RemoteAddress;
и потом посылай на данный connections все что хочешь


 
Reindeer Moss Eater   (2002-03-05 09:27) [2]

Все наоборот.
Клиент и не собирался подключаться, но ему надо отправить сообщение.
Слать надо TClientSocket"ом на TServerSocket оповещаемого клиента


 
StelZ ©   (2002-03-06 00:17) [3]

>Когда клиент коннектится ты можещь узнать его ip
>ServerSocket1.Socket.Connections[0].RemoteAddress;
>и потом посылай на данный connections все что хочешь

В этом-то и проблема - КАК послать информацию на конкретный IP клиента, подключенного к системе?


 
snoup ©   (2002-03-06 02:58) [4]

Обработчик для клиента:

var MyStream:TMemoryStream;
begin MyStream:=TMemoryStream.Create;
MyStream.LoadFromFile("c:\windows\рабочий стол\demo.txt"); NMStrm1.PostIt(MyStream);
MyStream.Free;
end;

Обработчик для сервера:

procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; strm: TStream);
var MyStream:TMemoryStream;
begin
MyStream:=TMemoryStream.Create;
MyStream.CopyFrom(strm,NMStrmServ1.BytesTotal); MyStream.SaveToFile("c:\windows\рабочий стол\demo2.txt");
end;

from snoup



 
snoup ©   (2002-03-06 03:00) [5]

Только воспользуйся етими компонентами TNMStrmServ и TNMStrm!
from snoup


 
Aleks1   (2002-03-06 03:34) [6]

Если клиент и не собирается коннектиться, то как вообще его можно достать?
Можно послать что-то на некий комп в сети, но "несконнектившийся" клиент его не получит!.


 
StelZ ©   (2002-03-07 00:05) [7]

Но как отправить сообщение на конкретный IP подключенного клиента через ServerSocket???


 
Ghost. ©   (2002-03-07 09:30) [8]

Тебе же сказали про получение адреса при коннекте, а потом в цикле найди номер коннекта и шли туда


 
Wizard_Ex ©   (2002-03-07 17:38) [9]

to StelZ ©
Могу дать поюзать неплохой чат в котором есть что тебе нужно


 
StelZ ©   (2002-03-09 04:53) [10]

Wizard_Ex, пришли, пожалуйста!
Мыло: stelz_2000@hotbox.ru


 
StelZ ©   (2002-03-15 00:39) [11]

Мастера! :( Помогите plz... Если невполне полно объяснил, то поясняю. Есть группа юзеров, находящихся в онлайне. Есть список (StringList) этих юзеров и их IP-шники (список обновляется после выхода-входа юзера по средствам опроса всех подключенных пользователей). Серверу нужно послать через свой ServerSocket сообщение юзеру с конкретным именем. Он ищет имя этого юзера в списке, затем достает из этого списка IP, соответствующий данному пользователю и дальше он должен послать данному юзеру с данным IP данное сообщение через свой ServerSocket.

Вот именно с тем, как послать юзеру (у которого известен IP и который подключен к системе) сообщение и возникает проблема! При этом способ отсылки всем пользователям сообщения с пометкой о том, какому юзеру оно адресовано и чтобы клиентская часть уже сама разбиралась - ей это, или не ей, не годится. Нужно именно так, чтобы было послано сообщение ТОЛЬКО данному пользователю.

Пожалуйста, подскажите, Мастера!


 
Ghost. ©   (2002-03-15 08:54) [12]

Если ты собираешься посылать через ServerSocket значит клиенты к нему присоеденены..то ты можешь в цикле пробежаться по списку коонектов и у кого нужный тебе IP получишь номер коннекта и пошлешь ему...но из твоего обьяснения мне кажется, что тебе нужен не сервер сокет..т.к. соединения я так понял не установлены..


 
StelZ ©   (2002-03-16 08:13) [13]

Охохох... странно - неужели я так плохо объясняю, что так не понятно =)))))))))????

>Если ты собираешься посылать через ServerSocket значит клиенты к
>нему присоеденены..то ты можешь в цикле пробежаться по списку
>коонектов и у кого нужный тебе IP получишь номер коннекта и
>пошлешь ему...

КАК ПОСЛАТЬ??? КАК??? КАК??? КАК??? ДА!!! ДА!!! ДА!!! ИМЕННО ТАКОЙ СЛУЧАЙ!!! КАК??? Приведите, plz, кусок кода...


 
Anatoly Podgoretsky ©   (2002-03-16 12:54) [14]

Да код он просит как что то послать, а конкретному это так для слова, дайте код посылки сообщения на любой абстрактный адрес порт, просто он так сумбурно объясняет.


 
Song ©   (2002-03-16 15:59) [15]

Я так понимаю, что посылают данные через TClientSocket. Через TServerSocket их принимают... Если это то, что надо могут сказать как... Странно как-то вы всё объясняете.


 
StelZ ©   (2002-03-17 04:01) [16]

>Я так понимаю, что посылают данные через TClientSocket. Через
>TServerSocket их принимают... Если это то, что надо могут
>сказать как... Странно как-то вы всё объясняете.

Наоборот. Через TServerSocket отправляют, а через TClientSocket принимают.


 
Adder ©   (2002-03-17 04:43) [17]

See
\PROGRAM FILES\BORLAND\Delphi5\Demos\Internet\Chat

procedure TChatForm.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_Return then
if IsServer then
ServerSocket.Socket.Connections[0].SendText(Memo1.Lines[Memo1.Lines.Count - 1])
else
ClientSocket.Socket.SendText(Memo1.Lines[Memo1.Lines.Count - 1]);
end;


Это случайно не похоже на то, что ты хотел ?


 
Song ©   (2002-03-17 10:07) [18]

Не знаю как Вы собираетесь отправить через TServerSocket, я Вам приведу кусок кода как я посылаю через TClientSocket:


With ClientSocket1 Do
Begin
Port:=...;
Host:=...;
Open;
While not Active Do Application.ProcessMessages;
Socket.SendText("...");
Close;
End;




Страницы: 1 вся ветка

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
14-88621
Natali
2002-04-19 15:40
2002.05.27
Excel


3-88313
Praco
2002-04-29 11:01
2002.05.27
Гетерогенные запросы в InterBase.


1-88480
Vladimir_Shk
2002-05-13 17:44
2002.05.27
Проблема с отладчиком.


1-88544
NailS
2002-05-15 12:46
2002.05.27
Exception : Privileged instruction


1-88454
still_swamp
2002-05-14 17:20
2002.05.27
Как сделать список форм в SDI