Форум: "Сети";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
ВнизВопрос про Mailslot Найти похожие ветки
← →
Зинец Виктор (2002-03-26 15:16) [0]кто может обьяснить, почему я не могу отправить более 424 байт в слот? делаю так:
MyMailSlot := CreateFile (PChar ("\\" + UserName + "\mailslot\messngr"), GENERIC_WRITE or GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
...
WriteFile (MyMailSlot, Buffer [1], cBuffer, cBytesSend, nil);
cBytesSend показывает, ск. байт записано, но получается сообщение, только если < 425
MSDN пишет, что "If CreateFile specifies a domain or uses the asterisk format to specify the system"s primary domain, the application cannot write more than 400 bytes at a time to the mailslot. If the application attempts to do so, the WriteFile function fails and GetLastError returns ERROR_BAD_NETPATH.", но у меня WriteFile не возвращает ошибки :-(
← →
Digitman (2002-03-26 17:47) [1]А где из приведенного тобой кода видно, что ты контролируешь результат работы WriteFile ?
И если, как ты утверждаешь, WriteFile "не возвращает ошибки", то чему равно значение переменной cBytesSend после возврата из WriteFile ?
← →
Зинец Виктор (2002-03-26 18:01) [2]if not WriteFile (MyMailSlot, Buffer [1], cBuffer, cBytesSend, nil) then ShowMessage (format ("Error - %s", [GetLastError]));
после writefile я могу посмотреть на к-во отправленных байт - сколько отправляю, столько cBytesSend и показывает; но если их > 424, то адресату ничего не приходит
← →
SV (2002-03-27 21:30) [3]В MailSlot Есть ограничение: При передаче сообщ. W98->W98 до 64Kb и соединение не устанавливается, если W_NT->W NT, то есди сообщение > 424 байт, то передается с доставкой соединения, т.о. от NT->W98 или наоборот сообщения должны дыть <424 байт!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c