Проблема с сокетом C - PullRequest
       0

Проблема с сокетом C

0 голосов
/ 27 октября 2010

У меня большой вопрос.Есть приложение, которое содержит следующий метод: socket (AF_INET, SOCK_STREAM, 0);Сокет возвращает 29, и я не вижу порт в терминале (netstat).

Я использую этот метод в Android-ndk и использую разрешение ИНТЕРНЕТ в файле манифеста Android.

В чем проблема вметод?

Спасибо

Ответы [ 3 ]

4 голосов
/ 27 октября 2010

29 - номер сокета, вы будете использовать его при вызовах других функций API сокетов (связывание, подключение и т. Д.).

Вы не видите его в netstat, потому что вы не привязалиэто еще ни к чему.Чтобы он там появился, позвоните connect или bind, accept, listen (в зависимости от того, что вы планируете с ним делать).

1 голос
/ 27 октября 2010

Может быть, вам следует bind(), listen() и accept() (если это сервер) или connect() (если клиент), прежде чем вы сможете увидеть его в netstat.

Кстати, используйте netstat -a, чтобы увидеть связанные, но не подключенные розетки.

1 голос
/ 27 октября 2010

Код возврата от socket() - это просто дескриптор файла, а не номер порта.Если вы собираетесь создать сервер, вам нужно позвонить listen(), bind() и accept().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...