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

关于socket通信bind()返回值错误:10049前几天偶尔收到一个朋友的求救,要编写一个IPV6的socket编程开始以为这个问题很容易,因为socket已经兼容IPV4和IPV6的,改下那几个接口就可以了然后….被卡住了….修改了参

大家好,又见面了,我是你们的朋友全栈君。

前几天偶尔收到一个朋友的求救,要编写一个IPV6的socket编程

开始以为这个问题很容易,因为socket已经兼容IPV4和IPV6的,改下那几个接口就可以了

然后….被卡住了….

修改了参数为IPV6的参数以后,在bind的时候始终包10049错误.

按照MSDN的说法,10049的意思表示找不到那个IP.

但是我服务器端bind监听的socket的时候,是不应该出这个问题的…

遍历无果,只能通过检视代码来找可能的错误.

        CString strError;
	m_hSocket;
	sockaddr_in6 addr;

	addr.sin6_family=AF_INET6;//表示在INT上通信
	addr.sin6_addr =in6addr_any;

	//inet_pton(AF_INET6,DEFAULT_IP,&addr.sin6_addr);

	addr.sin6_port=htons(8000); 

	int ret=0;
	int error=0;
	ret=bind(m_hSocket,(struct sockaddr *)&addr,sizeof(struct sockaddr_in6));//绑定
	if(ret==SOCKET_ERROR)
	{
		strError.Format("绑定失败:%d ",error=WSAGetLastError());
		pDlg->MessageBox(strError,"错误",MB_ICONSTOP);
		closesocket(m_hSocket);
		return;
	}        

  

检视的过程中发现,排除socket的配置错误,唯一一个可能的地方

定义sockaddr_in6 结构体的时候没有初始化…

因此加了一句 memset(&addr, 0, sizeof(addr));

重新试了下,bind成功…

 

这个事情告诉我们,一定要遵守编程规范….

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155520.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • gulp pipe缓存_gulp使用教程

    gulp pipe缓存_gulp使用教程首先,gulp的源码里没有任何一部分是定义pipe的。gulp的pipe方法是来自nodejsstreamAPI的。gulp本身是由一系列vinyl模块组织起来的。pipe方法到底是什么呢?pipe跟他字面意思一样只是一个管道例如我有一堆文件var s=gulp.src(["fileA","fileB","fileC"])src方法实际上是’vinyl-fs’模…

  • Ubuntu 安装 yum

    Ubuntu 安装 yum120@110:~$sudoapt-getinstallyum120@110:~$aliasyum=’sudoapt-get’120@110:~$yuminstall119正在读取监狱室列表…完成正在分析监狱头犯的依赖关系树正在读取状态信息…完成

  • redis和zk实现分布式锁有什么区别_redis分布式锁和zk分布式锁区别

    redis和zk实现分布式锁有什么区别_redis分布式锁和zk分布式锁区别前言本文介绍下分布式锁的一个使用场景分享本文的缘由是因为今天在写代码时需要处理一个原子性问题,场景是:业务功能需要先查询数据,再根据数据判断是否要更新数据,在这个查询+更新的过程必然会存在高并发下的原子性问题那么如何解决这个问题呢,那么就要说到我们的主角:分布式锁了分布式锁介绍分布式锁:即在多集群多节点环境下确保只有一个线程可以拿到锁,防止并发出现的问题,类似于synchronized,只不过synchronized不能处理多节点的问题解决上述问题的一种解决方式就是使用分布式锁,虽然性能会比较低

  • tcp/ip详解(三卷全)pdf_tcp/ip详解pdf

    tcp/ip详解(三卷全)pdf_tcp/ip详解pdftcpdf类生成PDF文件:        一、安装tcpdf        二、tcpdf插件中examples      三、写入方法生成pdf页面              方法一、在index.php中写入pdfdemo方法                             01)、使用命名空间                                      u…

  • 看完很清醒,我相信这是一个同龄人写的。。加油。。被扇醒的感觉

    你学习一般,考上了现在的这个学校,成绩不算好,拿不到校奖国奖,自习不规律上课不常听,考试全靠突击,同学帮一把也能考到七八十分。你家境一般,父母都是普通员工,在这个城市一个月生活费一千二,没事下下馆子,一个月添一件衣服,想买台相机要等几个月,经常要咬咬牙才能买双自己喜欢的鞋。你特长一般,不会吉他不会钢琴不会跳舞不会画画,想学摄影却不会PS,想上台演出却没信心,学校晚会比赛的时候,你经

  • Mac 下ll命令 command not found

    Mac 下ll命令 command not found

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号