Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

bind error   Найти похожие ветки 

 
Wiz@rd   (2005-10-12 11:53) [0]

При вызове функции bind в из заинекченной dll"ки происходит фатальная ошибка, хотя тот же самый код в обычной программе работает без сбоев. Пробовал WinSock и WinSock2


 
Digitman ©   (2005-10-12 11:55) [1]


> происходит фатальная ошибка


это какая же ?


> Пробовал WinSock и WinSock2


попробуй еще WinSock3..WinSock354634343543 ... как только появятся) ..
или таки сподобься уже ДЕТАЛЬНО описать проблему.


 
Wiz@rd   (2005-10-12 11:59) [2]

function FindBindPort: Word;
var
 i: Word;
 srv_address: PSockAddr;
 sock: TSocket;
begin
 Result := 0;
 sock := socket(AF_INET, SOCK_STREAM, 0);
 if sock = INVALID_SOCKET then
   Exit;
 GetMem (srv_address, SizeOf (srv_address^));
 ZeroMemory (srv_address, SizeOf (srv_address^));
 srv_address.sin_family := AF_INET;
 srv_address.sin_addr.s_addr := INADDR_ANY;
 for i := gPortRange.First to gPortRange.Last do
 begin
   srv_address.sin_port := htons(i);
   if bind(sock, srv_address, SizeOf(srv_address)) <> SOCKET_ERROR then {вот тут при использовании в dll процесс приходит к аварийному завершению}
   begin
     closesocket(sock);
     Result := i;
     Exit;
   end;
 end;
end;

ЗЫ. Просьба отвечать по делу


 
Digitman ©   (2005-10-12 12:33) [3]


> Просьба отвечать по делу


ну прямо таки прокурор)

ты справку читал ?

For TCP/IP, if the port is specified as zero, the service provider will assign a unique port to the application with a value between 1024 and 5000

и к чему эти выкрутасы с циклом ?

система и без них найдет своб.порт в упомянутом диапазоне.

вероятность того, что в этом диапазоне не найдется нит одного своб.порта, весьма и весьма мала.


> вот тут при использовании в dll процесс приходит к аварийному
> завершению


с каким же сообщением ?

хочешь сказать, что "крах процесса" происходит при первой же попытке вызова bind() и до возврата из этой ф-ции даже и дело не доходит ?


 
Wiz@rd   (2005-10-12 12:42) [4]

Дело в специфики приложения: если это юзать в обычной проге то всё ok, другое дело в dll которую заинектил


 
Digitman ©   (2005-10-12 12:44) [5]


> Wiz@rd   (12.10.05 12:42) [4]


я тебе задал вопросы, от ответа на которые немало зависит и решение.

так что "просьба отвечать по делу", а не лить воду про какие-то ДЛЛ ..

API-ф-ция - она и в Африке API-ф-ция.


 
Владислав ©   (2005-10-12 12:53) [6]


> bind(sock, srv_address, SizeOf(srv_address))


Интересно, чему равен SizeOf(srv_address)?..


 
Wiz@rd   (2005-10-12 12:55) [7]

SizeOf (srv_address^));
с этим проблем нет, дело именно в bind


 
Digitman ©   (2005-10-12 13:01) [8]


> дело именно в bind


вот и рассказывай давай, что там за "дело" - выполняется ф-ция до конца или крах процесса происходит именно вов ремя выполнения ф-ции при таком-то по порядку ее вызове.


 
Wiz@rd   (2005-10-12 13:44) [9]

Я немогу протестить что там и почему т.к. исполняется это в dll, которая в чужом процессе, exception просто говорит адрес ошибки и всё


 
Digitman ©   (2005-10-12 13:59) [10]


> немогу протестить что там и почему т.к. исполняется это
> в dll, которая в чужом процессе


не ври.

никого тут не интересует, "чужой" или "свой" процесс, речь идет о работоспособности твоего кода в ЛЮБЫХ предполагаемых тобой условиях.

сделай тестовое приложение (свое), вызови там свою ф-цию из своей же ДЛЛ и трассируй/тестируй/отлаживай ее вдоль и поперек !


 
atruhin ©   (2005-10-12 17:19) [11]

Да господи! Ведь ошибку уже показали!
>> bind(sock, srv_address, SizeOf(srv_address))
>> Интересно, чему равен SizeOf(srv_address)?..
bind(sock, srv_address, SizeOf(srv_address))


 
Digitman ©   (2005-10-12 17:56) [12]


> atruhin ©   (12.10.05 17:19) [11]


нет, тут самое интересное другое - сей "фрукт" утверждает. что эта (одна и та же !) лажа с разыменованием якобы работает в ехе-проекте, но якобы не работает в dll-проекте)

и при том , понимаете ли, "по делу" изволит требовать) ..



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

Форум: "Сети";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.039 c
2-1136548967
IK
2006-01-06 15:02
2006.01.22
WinWORD


14-1135962701
palva
2005-12-30 20:11
2006.01.22
С новым Годом и небольшой подарок


2-1136591876
Majesto
2006-01-07 02:57
2006.01.22
Вопрос по mySQL


11-1117997478
Ilnur
2005-06-05 22:51
2006.01.22
Richedit в MCK


4-1131899451
Bes
2005-11-13 19:30
2006.01.22
Не срабатывает ловшука WH_SHELL...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский