Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

28.04.2007, 01:18
|
|
Познающий
Регистрация: 02.10.2006
Сообщений: 55
Провел на форуме: 2070341
Репутация:
28
|
|
ЛАН мессанджер
посоветуйте как реализовать на делфи ЛАН мессанджер.
|
|
|

28.04.2007, 02:13
|
|
Members of Antichat - Level 5
Регистрация: 04.01.2007
Сообщений: 176
Провел на форуме: 17964969
Репутация:
1362
|
|
Если реализовывать без всякой клиентской части, то речь пойдёт о отсылке, подобной net send.
Код:
function WTD(AText:string):string;
var PText : PChar; MaxLength : integer;
begin
MaxLength:=length(AText)+1;
PText:=StrAlloc(MaxLength);
StrPCopy(PText,AText);
{$IFDEF WIN32}
CharToOEM(PText,PText); {32Bit}
{$ELSE}
AnsiToOEM(PText,PText); {16Bit}
{$ENDIF}
Result:=StrPas(PText);
StrDispose(PText);
end;
procedure SendNetMessage(AHost, AFromSt, AToSt, AMessageSt: string);
var
hSlot : THandle;
s : string;
cb : DWORD;
begin
hSlot := CreateFile(PChar('\\'+AHost+'\mailslot\messngr'),
GENERIC_WRITE, FILE_SHARE_READ, 0,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if hSlot <> INVALID_HANDLE_VALUE then
begin
AFromSt:=WTD(AFromSt);
AToSt:=WTD(AToSt);
AMessageSt:=WTD(AMessageSt);
s := AFromSt + #0 + AToSt + #0 + AMessageSt + #0;
cb := length(S);
WriteFile(hSlot, s[1], cb, cb, 0);
CloseHandle(hSlot);
end;
end;
Использовать так: SendNetMessage('имя_компа','от_кого' ,'кому','текст_сообщения');
Первый параметр не может быть IP-адресом, 2 и 3 могут пустовать. 4 может включать в себя символы перевода на новую строку.
|
|
|

28.04.2007, 11:54
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
а можно бродкастить по удп, и не нужно никаких серверов и ничго подобного
|
|
|

28.04.2007, 20:59
|
|
Познающий
Регистрация: 02.10.2006
Сообщений: 55
Провел на форуме: 2070341
Репутация:
28
|
|
а можно бродкастить по удп, и не нужно никаких серверов и ничго подобного
можно поподробнее
|
|
|

28.04.2007, 21:11
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
netsend жалко, у всех уже выключена служба. Помню, и спамили так =)
|
|
|

28.04.2007, 21:23
|
|
Познающий
Регистрация: 02.10.2006
Сообщений: 55
Провел на форуме: 2070341
Репутация:
28
|
|
мнеб желательно не через netsend
|
|
|

02.05.2007, 18:29
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
сетевой транспорт: udp; прога которая стоит у каждого в локалке, отправляет пакет на бродкаст адрес этой подсети. т.е. если у тебя адрес 192.168.0.32 то прога шлет на 192.168.0.255. все тачки подсети получат этот пакет. в свою очередь удаленные юзеры получают инфу от тебя и ффсе... далее как реализуешь формат пакета. например НИК:СООБЩЕНИЕ итд итп.
|
|
|

02.05.2007, 18:35
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
хм. Есть много кульных программ. НА крайняк можно заюзать чтото типа SeChat'a
И зачем изобретать лисапед 
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|