windows socket error(Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次.(10048))
本文目录
- Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次.(10048)
- Windows socket error: 在其上下文中,该请求的地址无效 (10049), on API ’bind’
- Windows socket error:远程主机强迫关闭了一个现有的连接(10054),on
- windows socket error: 由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作. (10055),on API ’conn
- 为什么我家电脑老提示Windows socket error
- windows socket error!!! 如何解决
- 假设私服时出现Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次
- Windows socket error: 由于系统缓存区空间不足或列队已满,不能执行套接字上的操作(10055),on API’
Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次.(10048)
Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次.(10048)是设置错误造成的,解决方法为:
1、在写代码的时候会遇到如图所示的错误提示:cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048),通常是adb端口被占用。
2、win+r打开运行窗口,输入cmd,按下回车键,进入命令行模式。
3、在命令号中输入命令并按下回车键: netstat -aon|findstr 5037。
4、找到LISTENING项,记录后面的3508,该进程占用了端口。
5、输入命令并回车:tasklist /fi “pid eq 3508“。
6、命令行中输入命令杀死进程: taskkill /pid 3508 /f ,显示如图所示已经终止该进程。
Windows socket error: 在其上下文中,该请求的地址无效 (10049), on API ’bind’
那和你的防火墙配置有关,和你的程序没有关系!
查找一下你的防火墙设置,把和你程序相关的“规则”删除
源代码是这样的
BOOL
CServerDlg::InitNetwork()
{
WSADATA
wsaData;
if(WSAStartup(MAKEWORD(2,1),
&wsaData)
!=
0)
{
WSACleanup();
AfxMessageBox(
“初始化网络协议失败!
“);
return
FALSE;
}
ServerSocket
=
socket(PF_INET,
SOCK_STREAM,
IPPROTO_TCP);
if(ServerSocket
==
INVALID_SOCKET)
{
closesocket(ServerSocket);
WSACleanup();
AfxMessageBox(
“创建套接字失败!
“);
return
FALSE;
}
sockaddr_in
localAddr;
//memset((void*)&localAddr,
0,
sizeof(localAddr));
localAddr.sin_family
=
AF_INET;
localAddr.sin_port
=
htons(8888);
localAddr.sin_addr.s_addr
=
htonl(INADDR_ANY);
if(bind(ServerSocket,
(struct
sockaddr*)&localAddr,
sizeof(localAddr))
==
SOCKET_ERROR)
{
//就在这里绑定不起,错误代码为10049
closesocket(ServerSocket);
WSACleanup();
AfxMessageBox(
“绑定地址失败!
“);
return
FALSE;
}
if(WSAAsyncSelect(ServerSocket,
m_hWnd,
NETWORK_EVENT,
FD_ACCEPT|FD_READ|FD_CLOSE)
==
SOCKET_ERROR)
{
closesocket(ServerSocket);
WSACleanup();
AfxMessageBox(
“注册网络异步事件失败!
“);
return
FALSE;
}
if(listen(ServerSocket,
5)
==
SOCKET_ERROR)
{
closesocket(ServerSocket);
AfxMessageBox(
“设置监听失败!
“);
WSACleanup();
return
FALSE;
}
return
TRUE;
}
Windows socket error:远程主机强迫关闭了一个现有的连接(10054),on
1、选择-开始菜单,然后单击 所有程序再单击-附件,最后单击-远程桌面连接,如下图所示。
2、也可以使用快捷键“Win”+“R”来启动 运行 窗口,输入命令 mstsc 后回车启动远程桌面连接。
3、在计算机后面的输入框中,输入自己的云服务器的外网IP地址,然后单击连接 。
4、然后在-显示选项卡中,显示配置调整窗口大小,一般是全屏。
5、在-本地资源选项卡中进行设置,需要复制文件,需要点击-详细信息 。
6、然后选择-驱动器 ,勾选文件存放的盘符信息。
7、点击链接就完成了。
windows socket error: 由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作. (10055),on API ’conn
这个问题并不直观,并且很难检查。因为,乍一看,它很像普通的
死锁
,或者
内存泄露
。假设你已经弄好了你的服务器并且能够很好的运行。当你对服务器进行承受力测试的时候,它突然挂机了。如果你幸运,你会发现这和WSAENOBUFS出错有关。
伴随着每一次的重叠发送和接收操作,有数据的内存提交可能会被加锁。当内存被锁定时,它不能越过
物理内存
页。操作系统会强行为能够被锁定的内存的大小设定一个上限。当达到上限时,重叠操作将失败,并发送WSAENOBUFS错误。
假如一个服务器在在每个连接上提供了很多重叠接收,随着连接数量的增长,很快就会达到这个极限。如果服务器能够预计到要处理相当多的并发客户端的话,服务器可以在每个连接上仅仅回复一个0字节的接收。这是因为没有接收操作和内存无关,内存不需要被锁定。利用这个方法,每一个
套接字
的接收内存都应该被完整的保留,这是因为,一旦0字节的接收操作完成,服务器仅仅为套接字的接收内存的所以数据内存返回一个非阻塞的接收。利用WSAEWOULDBLOCK,当非阻塞接收失败时,也没有数据被阻塞。这种设计的目的是,在牺牲数据吞吐量的情况下,能够处理最大量的
并发连接
。当然,对于客户端如何和服务器交互,你知道的越多越好。在以前的例子中,每当0字节的接收完成,返回存储了的数据,马上执行非阻塞接收。假如服务器知道客户端突然发送数据,当0字节接收一旦完成,为防止客户端发送一定数量的数据(大于每个套接字默认的8K内存大小),它可以投递一个或多个重叠接收。
为什么我家电脑老提示Windows socket error
1、虚拟内存太小或者C盘满了。如果是这种,请自己查资料加大虚拟内存量,并保证C盘还有充足的空间。
2、是你电脑里面某个软件的问题。
这个错误可能是你计算机的Socket句柄资源用尽导致的,能够造成这种现象的一种情况就是你的计算机的某个程序不断的向某个连接发出连接申请,但是始终没能连上,没连上就会引发一个错误,如果编程的人没有写释放资源的代码,那么这个连接就始终占据着着一个句柄,于是由于不断的连接,最终导致Socket句柄资源耗尽。
如果你运行的都是很正常的程序,那么很可能进行连接的就是一些木马程序,比如盗取
windows socket error!!! 如何解决
连接时出现:“windows socket error:(10061),on API ’connect’”
是你的SOCKET没有启动(SCKTSRVR.EXE)或者无法连接到服务器。 使用socketconnect很简单,只要在应用服务器后台运行SCKTSRVR.EXE,不需要什么配置。(在Delphi的Bin目录是已运行了scktsrvr.exe,但没有设置Port号;设置你要的Port号注意不要有冲突。)
假设私服时出现Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次
私服时出现Windows socket error: 通常每个套接字地址只允许使用一次可以尝试点击再运行里面输入CMD,然后再CMD界面输入 netsh winsock reset。 重启生效。
Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化。
随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位。
系统版本从最初的Windows 1.0 到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server服务器企业级操作系统,不断持续更新,微软一直在致力于Windows操作系统的开发和完善。
Windows socket error: 由于系统缓存区空间不足或列队已满,不能执行套接字上的操作(10055),on API’
10055错误是系统队列或缓冲区满,与socket
句柄
的多少无关。可能是由于你开的线程太多,代码又不够优化,导致系统资源耗尽而引起的。
发送的速度太快,使
协议栈
的缓冲区满.
发慢一点吗!
当然,可能是缓冲被设得太小了
更多文章:
nba2k14中文版下载官网(NBA2K14中文完整版在哪里下载)
2024年6月15日 10:35
visual+studio+code怎么改成中文(Visual Studio Code 怎么用啊,怎么换成中文的)
2024年7月16日 17:56
qq旋风安卓版下载2021(我是最新的QQ旋风版本了,为什么还是下载的时候还是提示我不是最新版本需要下载最)
2024年6月18日 09:59
project2010产品密钥(求microsoft project 2010 激活码)
2024年5月17日 09:19
搜狗输入法下载手机版2015最新(怎么在手机上下载搜狗输入法)
2024年5月18日 17:16
blazeds(flex,blazeds模式,调用服务端方法)
2024年7月15日 09:07
锤子手机官网中,产品描述的中英文字体分别是什么?锤子官网客服电话
2024年3月8日 21:10
洛克王国王者空间(洛克王国王者空间什么时候结束,到2月20号还有吗)
2023年8月17日 19:40
天龙八部 楼兰寻宝的具体内容是什么?天龙八部的楼兰寻宝活动可以得到什么
2024年5月17日 09:39