Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.008 c
1-88462
IronWit
2002-05-17 17:20
2002.05.27
как менять программно ширину и высоту колонок в stringgrid


3-88385
HAZARD
2002-05-04 00:55
2002.05.27
Ну вот и столкнулся :(


7-88643
Neo_Max
2002-03-01 14:55
2002.05.27
Запуск внешних программ


14-88616
dudnikov
2002-04-19 03:55
2002.05.27
Вопрос-просьба


1-88460
YuriG
2002-05-15 12:50
2002.05.27
По поводу метафайлов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский