关于socket通信bind()返回值错误:10049

在本机上写了一个简单的基于TCP的客户端和服务器端的通信程序,服务器端程序开启的时候总是提示:bind错误,用WSAGetLastError()获取错误类型为10049。

 memset(&server_addr,0,sizeof(server_addr));
 server_addr.sin_family = AF_INET;
 server_addr.sin_port =htons(7000);
 server_addr.sin_addr.s_addr=inet_addr(INADDR_ANY);

 

对于10049错误类型的解释为:

 

1 0 0 4 9 —W S A E A D D R N O TAVA IL
不能分配请求的地址。A P I 调用中指定的地址对那个函数来说无效时,就会产生这样的错误。例如,若在b i n d 调用中指定一个I P 地址,但却没有对应的本地I P 接口,便会产生这样的错误。另外,通过c o n n e c t W S A C o n n e c t s e n d t o W S A S e n d To W S A J o i n L e a f 这四个函数为 准备连接的远程计算机指定端口0 时,也会产生这样的错误。

 

换了几个不同的端口,错误依旧.网上查找原因,也没得到解决。关掉防火墙也没得到解决。最后把:server_addr.sin_addr.s_addr=inet_addr(INADDR_ANY);

改为:server_addr.sin_addr.s_addr=inet_addr(“127.0.0.1”);

错误解决。不明白为何会这样。


转载地址:http://blog.sina.com.cn/s/blog_608740170100wt19.html

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. socket: 功能:创建一个新的套接字。 参数: - domain:协议族,如AF_INET表示IPv4协议族; - type:套接字类型,如SOCK_STREAM表示面向连接的套接字; - protocol:具体的协议,通常为0表示默认选择。 返回值:成功返回一个套接字文件描述符,失败返回-1。 2. bind: 功能:将一个套接字绑定到一个具体的地址。 参数: - sockfd:套接字文件描述符; - addr:指向存放要绑定的地址信息的结构体的指针; - addrlen:地址结构体的长度。 返回值:成功返回0,失败返回-1。 3. connect: 功能:与一个指定的服务器建立连接。 参数: - sockfd:套接字文件描述符; - addr:指向存放要连接的目标地址信息的结构体的指针; - addrlen:目标地址的长度。 返回值:成功返回0,失败返回-1。 4. listen: 功能:将套接字设置为监听状态。 参数: - sockfd:套接字文件描述符; - backlog:设置连接请求队列的最大长度。 返回值:成功返回0,失败返回-1。 5. accept: 功能:接受客户端连接。 参数: - sockfd:套接字文件描述符; - addr:指向存放客户端地址信息的结构体的指针; - addrlen:客户端地址信息的长度。 返回值:成功返回一个新的套接字文件描述符,用于与客户端通信;失败返回-1。 6. read: 功能:从套接字读取数据。 参数: - sockfd:套接字文件描述符; - buf:存放读取结果的缓冲区; - count:要读取的字节数。 返回值:成功返回读取到的字节数,失败返回-1。 7. recvfrom: 功能:从套接字读取数据,并获取数据来源的地址信息。 参数: - sockfd:套接字文件描述符; - buf:存放读取结果的缓冲区; - len:要读取的字节数; - flags:读取数据的方式; - src_addr:指向存放数据来源地址信息的结构体的指针; - addrlen:数据来源地址信息的长度。 返回值:成功返回读取到的字节数,失败返回-1。 8. write: 功能:向套接字写入数据。 参数: - sockfd:套接字文件描述符; - buf:要写入的数据缓冲区; - count:要写入的字节数。 返回值:成功返回写入的字节数,失败返回-1。 9. sendto: 功能:向套接字写入数据,并指定数据的目标地址。 参数: - sockfd:套接字文件描述符; - buf:要写入的数据缓冲区; - len:要写入的字节数; - flags:写入数据的方式; - dest_addr:指向目标地址信息的结构体的指针; - addrlen:目标地址信息的长度。 返回值:成功返回写入的字节数,失败返回-1。 10. close: 功能:关闭套接字。 参数: - sockfd:套接字文件描述符。 返回值:成功返回0,失败返回-1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值