Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

File sockets under Win2000 [D6, Win2k]


AlexGO ©   (2002-01-21 10:59:00) 

Hi,

Подскажите, возможно-ли использовать _файловые_ сокеты под
Windows2000 используя Winsock? Если да, то как правильно его
инициализировать? Как это делается на linux/C,Kylix - знаю,
а вот под Windows - уме не приложу, там даже нету sun_path
в структуре :(

cheers,

AlexG.


AlexGO   (2002-01-21 17:56:00) [1]

Ну и что? Структура определена в WinSock.pas,
в scktcomp.pas есть вызов bind. только это все не катит.

Вызов:

CheckSocketResult(bind(FSocket, FAddr, SizeOf(FAddr)), "bind");

Структура:

PSockAddrIn = ^TSockAddrIn;
{$EXTERNALSYM sockaddr_in}
sockaddr_in = record
case Integer of
0: (sin_family: u_short;
sin_port: u_short;
sin_addr: TInAddr;
sin_zero: array[0..7] of Char);
1: (sa_family: u_short;
sa_data: array[0..13] of Char)
end;
TSockAddrIn = sockaddr_in;


Digitman   (2002-01-21 14:37:00) [2]

открой текст модуля scktcomp.pas, найди там строчку с вызовом bind() и посмотри, как правильно выполняется этот вызов, какие структуры и как инициализируются и где они описаны


AlexGO   (2002-01-21 12:44:00) [3]


Да, но при взаимодействии нужно знать, с чем собираешься
взаимодействовать:

Примерно так:

struct sockaddr_un addr;
...
strcpy(addr.sun_path, "/tmp/zan/");
addr.sun_len = strlen(addr.sun_path);
addr.sun_family = AF_UNIX;
bind(s,(struct sockaddr*)&addr, SUN_LEN(&addr));

так что вопрос остается открытым.


Digitman   (2002-01-21 12:35:00) [4]

А что это такое "_файловые_ сокеты " ? Есть спецификация гнезд Беркли, так ни о каких файлах там речи вообще не идет : это просто соглашения о механизме интерпроцессного взаимодействия и не более того


Наверх

Титульная страница Поиск, карта сайта Написать письмо