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

Вниз

А можно с mailslot через Winsock работать?   Найти похожие ветки 

 
nvv_fr   (2003-02-05 15:25) [0]

А если можно, то как? Примерно где рыть...

Зы - Winsock - в смысле с удалленой машиной серез инет...
Есть подозоение, что можно, ибо net send передает сообщение очень далекому ip, причем динамически созданому на дайлапе ....

Звиняюсь за еще один глупый вопрос...


 
_Narayan_   (2003-02-05 17:30) [1]

А ты понимаешь что делает net send ?

Звиняюсь за еще один глупый ответ...


 
nvv_fr   (2003-02-05 22:13) [2]

Ну как сказать. Невозможно всего знать.

С утра спросил, какой какой порт использует net send...
Вы ответили, что не порты, а майлслоты... Ладно, поискал на гугле, нашел фрагменты кода для этого дела, типа
CreateMailslot...

Но вот - для lpName везде фигурируют имена машин, типа в локалке...
Но с другой стороны - net send какой-то_ip_хоть_с_америки Привет
и сообщение ушло туда в америку... Посему и возник такой глупій вопрос. Так что мажете считать, что я понятия не имею, как работает net send, если это томожет вам дать более вразумительный ответ...
То есть, вопрос - как программно сделать
net send какой-то_ip_хоть_с_америки Привет
(имеется ввиду не запустить net send на выполнение, а через соотв. апи)
Зы - общее понятие и некий опыт с winsock есть, если это важно для ответа...





 
Ihor Osov'yak ©   (2003-02-06 17:07) [3]

А в чем проблема?

Ставишь снифер и делаешь net send тому американу на его далекий айпи. И изучаешь внимательно, то что снифер покажет..
А покажет он, вероятнее всего, работу по IP/UDP в районе 135..138 портов, ну типа netbios сервисов....

Ну а потом берешь в руки Indy с его IdUDPClient и пытаешся это дело повторить...



 
_Narayan_   (2003-02-07 09:39) [4]

2 nvv_fr

почему бы не получить из ip имя и
отправляй себе на здоровье.
Другое дело что включенный фаервол
не пропустит, или винда не NT, или
служба сообщений отключена.
Да мало ли что.

Вот модуль (имя из ip адреса)
Кое-что, кстати, здесь подсмотрел.
Нужен искодник примера пиши на мыло.

unit mNetUtils;

interface

uses Windows,Variants,WinSock,SysUtils;

Type TLanguage=(Rus,Eng);

const NO_ERROR=0;
ERROR_HOST_NOT_FOUND=1;
ERROR_CAN_NOT_LOAD_WINSOCKETS=2;
ERROR_EMPTY_IPADDR_PARAMETR=4;

function mIpAddrToStrName(const IpAddr: String; var Host :PHostEnt): Byte;
function mGetErrorText(ErrorCode: Byte; Language: TLanguage): String;

implementation

function mIpAddrToStrName(const IpAddr: String; var Host :PHostEnt): Byte;
var wsadt : wsadata;
Destino :in_addr;
Retorno :integer;
begin
If (Trim(IpAddr)="") then
begin
Result:=ERROR_EMPTY_IPADDR_PARAMETR;
Exit;
end;
Retorno:=WSAStartup($0101,wsadt);
If (Retorno=0) Then
begin
Destino.S_addr := inet_addr(Pchar(IpAddr));
if (Destino.S_addr = 0) then Host := GetHostbyName(PChar(IpAddr)) else Host := GetHostbyAddr(@Destino,sizeof(in_addr), AF_INET);
if (host = nil) then Result:=ERROR_HOST_NOT_FOUND Else Result:=NO_ERROR;
end
Else Result:=ERROR_CAN_NOT_LOAD_WINSOCKETS;
WSACleanup();
end;

function mGetErrorText(ErrorCode: Byte; Language: TLanguage): String;
begin
Case Language Of
Rus: Case ErrorCode Of
NO_ERROR: Result:="Операция прошла успешно";
ERROR_HOST_NOT_FOUND: Result:="Хост не найден";
ERROR_CAN_NOT_LOAD_WINSOCKETS: Result:="Не удаётся загрузить WinSockets";
ERROR_EMPTY_IPADDR_PARAMETR: Result:="Пустой параметр "IpAddr"";
Else Result:="Неизвестная ошибка";
end;
Eng: Case ErrorCode Of
NO_ERROR: Result:="Operation secced";
ERROR_HOST_NOT_FOUND: Result:="Host not found";
ERROR_CAN_NOT_LOAD_WINSOCKETS: Result:="Can not load WinSockets";
ERROR_EMPTY_IPADDR_PARAMETR: Result:="Empty parametr: "IpAddr"";
Else Result:="UnLocated Error";
end;
end;
end;

end.



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-100213
S
2003-03-18 11:02
2003.03.31
Перенос отчета в Excel.


8-100335
бобёр
2002-12-20 15:45
2003.03.31
gif-файл


3-100175
kalliopiy
2003-03-11 14:34
2003.03.31
TRxDBGrid


9-100130
Lin1
2002-10-29 02:43
2003.03.31
Текстуры в DelphiX


14-100450
sancho
2003-03-14 19:45
2003.03.31
Глупый вопрос...