C socket()问题

时间:2010-10-27 16:18:44

标签: android c

我有一个很大的问题。有一个应用程序,其中包含以下方法: socket(AF_INET,SOCK_STREAM,0); 套接字返回29,我看不到终端中的端口(netstat)。

我在Android-ndk中使用此方法,并在Android Manifest文件中使用INTERNET权限。

方法有什么问题?

由于

3 个答案:

答案 0 :(得分:4)

29是套接字号,您将在调用其他套接字API函数(绑定,连接等)时使用它。

你没有在netstat中看到它,因为你还没有把它绑定到任何东西。要让它显示在那里,请致电connectbindacceptlisten(取决于您打算如何处理)。

答案 1 :(得分:1)

socket()的返回码只是文件描述符,而不是端口号。如果您打算创建服务器,则需要致电listen()bind()accept()

答案 2 :(得分:1)

也许您应该bind()listen()accept()(如果这是服务器)或connect()(如果是客户端),然后才能在netstat中看到它。

BTW,使用netstat -a查看绑定但未连接的套接字。