bind 错误 10048,Bind之后出错,代码是10048,为什么呢?谢谢大家!!!

Bind之后出错,代码是10048,为什么呢?谢谢大家!!! - 故障解答 - 电脑教程网

Bind之后出错,代码是10048,为什么呢?谢谢大家!!!

日期:2007-05-19   荐:
Bind之后出错,代码是10048,为什么呢?谢谢大家!!!代码:m_local.sin_family=AF_INET; // 地址族m_local.sin_addr.s_addr=INADDR_ANY; // 网际IP地址m_local.sin_port=htons((u_short)20248); // 使用的端口// bind将我们刚创建的套接字和sockaddr_in结构联系起来。// 它主要使用本地地址及一个特定的端口来连接套接字。// 如果它返回非零值,就表示出现错误。if(bind(m_conn,(sockaddr*)&m_local,sizeof(m_local))!=0){int iError = WSAGetLastError();return 0;}用int iError = WSAGetLastError();返回1004810048_通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 好象我换一个端口地址就可以了.呵呵.为什么要这样啊.每调试几次程序就要换一个端口,难道用Bind之后,只能绑定一次,就算我closeSock()之后,下次还不能绑定这个端口么???我要问大家的问题是"使用完一个端口之后,要如何释放这个端口啊?"谢谢大家!1奇怪,closesocket就可以了呀。你确定你的socket关掉了吗?我确定关了的啊?是不是服务器_客户端有一端断开就可以了.还是主要是服务器一端断开.因为这个SOCK是服务器端绑定的.服务器端socket?监听socket?监听socket主要是不断的accept,不能不断地bind呀。应该是该 地址正在使用。正常情况下,每个套接字只允许使用一个套接字地址(例如,一个I P套接字地址由本地I P地址及端口号组成)。这个错误一般和bind、connect和WSAConnect这三个函数有关。可在setsockopt函数中设置套接字选项SO_REUSEADDR,允许多个套接字访问同一个本地I P地址及端口号
标签: