Опции за гнезда
Сайт на Delphi: ежедневни Delphi-новини, документация, статии, рецензия, интервю, компютърен хумор.
Сега ще разгледаме две от най-интересните функции, с които можете да контролирате опциите на проекта. Първият, getsockopt, връща опции за сокет, а вторият, setsockopt, задава опциите. Функцията getsockopt е описана по следния начин:
Функцията setsockopt е описана по следния начин:
Нека разгледаме параметрите на двете функции, защото те са еднакви:
• optlen - размерът на стойността, която трябва да бъде зададена
Ако нивото S0L_S0CKET е зададено като втори параметър, тогава в третия параметър може да бъде посочена една от следните стойности:
• S0_ACCEPTC0NN (булев тип) - този параметър е само за четене Ако е вярно, тогава сокетът слуша на порта.
• S0_BR0ADCAST (булев тип) - ако е вярно, сокетът е конфигуриран да изпраща или получава излъчени пакети. Излъчването ви позволява да изпращате пакети до всички компютри в мрежата. Този параметър е валиден за протоколи без връзка (не може да се използва с SOCKSTREAM). Опитайте се да не използвате излъчване в проектите си ненужно, защото много такива пакети могат да претоварят мрежата.Пример за използване на излъчване е даден в раздел 5.7.
• S0_C0NNECT_TIME (тип Integer) - позволява да определите времето за връзка. Този параметър е само за четене, тъй като времето за връзка не може да се променя ръчно.
• S0D0NTLINGER (булев тип) - ако е зададено на false, тогава, когато сокетът е затворен, всички данни в опашката за изпращане или получаване ще бъдат обработени правилно. Ако този параметър е зададен на true, след определено време сокетът ще бъде затворен, без да се обработват данни от опашката.
• S0D0NTR0UTE (булев тип) - ако е равно на true, тогава пакетът ще бъде изпратен директно към мрежовия интерфейс на получателя, без да се обработва маршрутизиращата таблица.