android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1

Android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1

原因权限问题,

应该添加如下权限:

<uses-permission android:name="android.permission.INTERNET" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: socket(af_inet, sock_stream, ) 是一个创建套接字的函数调用,其中 af_inet 表示使用 IPv4 地址族,sock_stream 表示使用流式套接字, 表示使用默认协议。 ### 回答2: socket(af_inet, sock_stream, 0) 是创建一个基于TCP协议的IPv4套接字。具体解释如下: 首先,socket()函数是用来创建套接字的系统调用,它接收三个参数:地址族(AF_INET)、套接字类型(sock_stream)和协议(0)。 - 地址族(AF_INET)指定了套接字的地址类型,AF_INET代表IPv4地址族。这意味着我们正在创建一个基于IPv4的套接字,可以用于在IPv4网络上进行通信。 - 套接字类型(sock_stream)指定了套接字的传输方式,sock_stream代表基于流的传输方式,也就是TCP协议。基于流的传输方式提供了可靠性和有序性,适用于需要确保数据不丢失、顺序正确的应用。 - 协议(0)参数表示使用默认的传输协议。对于基于IPv4的套接字和TCP协议,协议参数为0表示使用TCP协议。这是因为TCP是IPv4默认的传输协议,所以传入0即可。 综上所述,socket(af_inet, sock_stream, 0) 创建的是一个基于TCP协议的IPv4套接字,可以用来在IPv4网络上进行可靠的、有序的数据传输。 ### 回答3: socket(af_inet, sock_stream, 0) 是一个创建 TCP/IP 套接字的函数调用。其中,af_inet 表示使用 IPv4 地址族,sock_stream 表示使用流传输协议(TCP),0 表示默认协议。 套接字是在网络中进行通信的一种方式,通过套接字可以建立连接、发送和接收数据。在这个函数中,我们使用的是 IPv4 地址族,它是现今互联网中最常用的地址族。而 sock_stream 表示我们使用的是 TCP 协议,TCP 是一种可靠的、面向连接的协议,它能够确保在数据传输过程中的可靠性和有序性。 函数调用成功后,将返回一个套接字描述符,它是一个标识创建的套接字的整数值。我们可以使用该套接字描述符进行数据的发送和接收。 需要注意的是,函数调用可能会失败返回值为 -1,表示创建套接字失败。这种情况可能出现在系统资源不足或参数设置错误等情况下。 这个函数调用的完整形式为:socket(AF_INET, SOCK_STREAM, 0),其中 AF_INETSOCK_STREAM 是对应的常量,分别表示 IPv4 地址族和使用流传输协议。0 表示默认协议,将由系统自动选择合适的协议。 综上所述,socket(af_inet, sock_stream, 0) 是一个用于创建 TCP/IP 套接字的函数调用,它指定了使用 IPv4 地址族、流传输协议和默认协议。调用成功后,返回一个套接字描述符,用于之后的数据传输操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值