2012-01-13 7 views
3

Я возился с сокетами, и я хотел протестировать с помощью протокола SCTP на моем mac.SCTP отсутствует файл include на OSX?

Однако, когда я пытаюсь включить файл netinet/sctp.h, компилятор дает мне ошибку «файл не найден».

Так что я сделал некоторые копания, и, конечно же, нет файла include для netinet/sctp.h на Mac OSX Lion. Почему это, когда я могу настроить сокет с IPPROTO_SCTP, и он строит отлично?

Так, в целом, у меня есть два вопроса:

  • Где заголовки SCTP на Mac OS X?
  • Могу ли я настроить SCTP-сервер без соответствующих заголовков? Если да, то как?

ответ

4

На Lion IPPROTO_SCTP определяется в netinet/in.h - вот почему он работал нормально, так как вы, вероятно, включены netinet/in.h прямо или косвенно. Однако он присутствует только в Lion, а не в предыдущих версиях OS X. (Обратите внимание, что netinet/sctp.h не входит в POSIX, и я не думаю, что он переносится)

+0

Интересно. Так значит ли это, что я не могу использовать SCTP для настройки сокета клиент-сервер на моем Mac? –

+2

Я боюсь, что у меня нет библиотеки - никакие функции sctp, предоставляемые OS X, и создание сокетов 'IPPROTO_SCTP' приводит к ошибке« Протокол не поддерживается ». –

+0

Хорошо, хорошо, спасибо за ваше время. –