LanChat
, Чат
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.9] |
|
|
Соблюдайте общие правила форума
MSDN Library
FAQ раздела
Поиск по разделу
Как правильно задавать вопросы| Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
LanChat
, Чат
|
Сообщ.
#16
,
|
|
|
|
в GlobusLib в общем ничего сложного, но я ждал большего... У меня такой вопрос(ы) : Это через эту службу работает Winpopup ? А то я как-то никогда не видел чтоб один был сервером а второй клиентом, или у всех оба запущены? Если так, то какой смысл использовать GlobusLib, если можно обойтись API, Client(Server)Socket'ами. А вообще я прогу видел у друга в общаге, даже не одну, которая рассылает сообщения как Winpopup и получает вроде как единый стандарт обмена сообщениями.
|
|
Сообщ.
#17
,
|
|
|
|
>Diamond - прочитай все-таки ZEE Сообщ. #14 от 25.12.03, 10:43 - может станет яснее...
|
|
Сообщ.
#18
,
|
|
|
|
Цитата Diamond от 28.12.03, 08:58 В GlobusLib в общем ничего сложного, но я ждал большего... У меня такой вопрос(ы) : Это через эту службу работает Winpopup ? А то я как-то никогда не видел чтоб один был сервером а второй клиентом, или у всех оба запущены? Если так, то какой смысл использовать GlobusLib, если можно обойтись API, Client(Server)Socket'ами. А вообще я прогу видел у друга в общаге, даже не одну, которая рассылает сообщения как Winpopup и получает вроде как единый стандарт обмена сообщениями. Я разобрался полность в GlobusLib! Охрененная вещь! Очень простая! Работа компонента MailslotTerminal > > Создаётся лиия передачи данных Он (компонент) читает из этой линии массаги, и отправляетт" /// Изменены названия, чтобы было понятно Здесь нет ни клиента ни сервера. Программа работает как клиент, а сервером выступает та самая линия! // Эсли что нетак - обоснуйте // ^) Такой вопросик > Как узнать свой IP адресс в локальной сети // Мне нужна проседура типа ![]() ![]() procedure GetIpAdress:string // Скоро появится релизная версия чата Добавлено в : Да и ещё как отправить файл (или папку) по локалке с програссом копирования! |
|
Сообщ.
#19
,
|
|
|
|
вот че-то похожее есть
http://eef.ispu.ru/sitestud/sav/uddf/pages...rk.htm#network4 тока не стринг получается, а лонгинт... |
|
Сообщ.
#20
,
|
|
|
|
Цитата ZEE от 29.12.03, 13:17 вот че-то похожее есть http://eef.ispu.ru/sitestud/sav/uddf/pages...rk.htm#network4 тока не стринг получается, а лонгинт... Использовал пример! Сети нет а выдал другой адресс (не 127.0.0.1) да и ещё без точек, а раставлять самим невозможно тк строку вида 164001002003 не выдеёт! Это неудобно! Есть ли ещё какой-ни-дь пример Да и ещё Цитата Да и ещё как отправить файл (или папку) по локалке с програссом копирования! Всех с новым годом |
|
Сообщ.
#21
,
|
|
|
|
Вот что меня интересует: Mailslot - альтернатива winpopup или он ее и использует?
|
|
Сообщ.
#22
,
|
|
|
|
на счет определения своего IP
ниже приведу две ф-ции - если их вызвать так result:=GetIPByHostName(GetHostNameByIP('')) то в результат выдаст как раз свой IP ![]() ![]() function GetHostNameByIP(IP:PChar):string; var wVersionRequested : WORD; wsaData : TWSAData; Addr: LongWord; p: PHostEnt; begin result:='?'; wVersionRequested := MAKEWORD(1, 1); WSAStartup(wVersionRequested, wsaData); Addr:=inet_addr(IP); p:=GetHostByAddr(@Addr,128,AF_INET); WSACleanup; if p<>nil then result:=p^.h_Name; end; function GetIPByHostName(const dn:string):string; type TaPInAddr = array[0..250] of PInAddr; PaPInAddr = ^TaPInAddr; var r: PHostEnt; wsaData: TWSAData; pptr: PaPInAddr; i: integer; s: string; begin WSAStartup($0101, wsaData); r:=gethostbyname(PChar(dn)); if r=nil then begin result:='?'; exit; end; pptr:=PaPInAddr(r^.h_addr_list); i:=0; while pptr^[i]<>nil do begin s:=inet_ntoa(pptr^[0]^); inc(i); end; WSACleanup; result:=s; end; зы: ф-ции писались когда-то давно - если покажутся слегка корявые - то извините... Добавлено в : млин, чуть не забыл uses WinSock; |
|
Сообщ.
#23
,
|
|
|
|
А у меня другой вопрос:
пишу что-то вроде чата, но не хочется забивать трафик.....при посылке сообщения с сервера он посылается на все соединения...а хотелось бы чтобы посылалось именно выбранному адресату.....как это лучше сделать....привязка к IP или может имя компьютера...и как это реализовать |
|
Сообщ.
#24
,
|
|
|
|
Цитата Invader, 19.01.04, 16:31 пишу что-то вроде чата, но не хочется забивать трафик.....при посылке сообщения с сервера он посылается на все соединения...а хотелось бы чтобы посылалось именно выбранному адресату.....как это лучше сделать что ж это за чат такой который всем отправляет? надож отсылать на конктерное соединение (ServerSocket1.Socket.Connections[<номер соединения>]) это если через сокеты - хотя я наверно делал бы через слоты... |
|
Сообщ.
#25
,
|
|
|
|
люди а как релизовать массовую расылку через Клиент Сокет если на других машинах уже открыт Сервер Сокет?
|
|
Сообщ.
#26
,
|
|
|
|
Цитата люди а как релизовать массовую расылку через Клиент Сокет если на других машинах уже открыт Сервер Сокет? Я делал так: Один сервер - все остальные клиенты. Все клиенты шлют серверу, сервер рассылает всем. Потом я от этой схемы отказался ибо глюкаво и медленно. Сейчас юзаю mailslot. Вроде удобно. Хотя сам не знаю как с его помощь послать сообщение WinPopup'у да и в инете по IP он тоже вроде не пашет. |
|
Сообщ.
#27
,
|
|
|
|
Цитата Diamond, 20.01.04, 02:15 Хотя сам не знаю как с его помощь послать сообщение WinPopup'у через \MAILSLOT\MESSNGR (уже кажись писАл) Цитата Diamond, 20.01.04, 02:15 и в инете по IP он тоже вроде не пашет да не пашет - это локально-сетевая фишка... |
|
Сообщ.
#28
,
|
|
|
|
ZEE,
Цитата ServerSocket1.Socket.Connections[<номер соединения>] я так и делаю......ой а че это я тогда тему поднял то есть сервер получает сообщение от клиента, запоминает его номер, а потом выдает ответ на этот же номер.....так чтоли?! ну я что-то торможу в последнее время...все...все...надо ночью спать |
|
Сообщ.
#29
,
|
|
|
|
Цитата сервер получает сообщение от клиента, запоминает его номер, а потом выдает ответ на этот же номер Ну и что? Или клиент своих сообений не должен видеть? Заодно и проверяешь дошло сообщение до сервера или нет. Траффик конечно забиваеться, но если это не критично, то можно сделать и так. |
|
Сообщ.
#30
,
|
|
|
|
Diamond,
меня другое волнует...не знаю как сделать так чтобы сервер знал номер клиента...допустим почти одновременно присоединились несколько клиентов...каждому надо разослать сообщение но незнаю как узнать номера соединения для определенного клиента |