WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

connect()返回错误的代码10061的解决办法

更新时间:2018-02-10 21:55 作者:佚名点击:
刚才写一个简单通信例子出错了,在client端connect()执行时返回错误代码10061
 
这个错误是这样的: wsaeconnrefused (10061) connection refused. 因为目标主机主动拒绝,连接不能建立。这通常是因为试图连接到一个远程主机上不活动的服务,如没有服务器应用程序处于执行状态。 这个错误说得很广泛。首先要检查是否已经开启了server端 = =!,开启了之后又是否成功进行了accept和connect函数的设定(配对使用的嘛)。 connect的参数第一个是client端的socket,第二个是client端地址(输入要连接的IP和端口);而accept函数是对应的server端的socket和地址,它们返回的是各自接收到的socket。我想应该像下面图示那样有三个socket。不要像我这样把各个socket在函数参数中的位置弄乱了...
 
 
 
 
 
┏━━━━━━━┓     ┆     ┏━━━━━━━┓ ┃ 服务端socket ┃     ┆     ┃ 客户端socket ┃ ┗━━━┯━━━┛     ┆     ┗━━━┯━━━┛     ↑ ┏━━━━━━┓       ↓ └←←←←←←←┃传输的socket ┃←←←←←←← ←┛           ┗━━━━━━┛               ┆       server.cpp   ┆     client.cpp
 
 
 
出错的也可能是地址设定不当的原因。我使用的是inet_addr转换IP,htons转换端口。
 
ServerAddr.sin_family=AF_INET;
 
ServerAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//IP转换
 
ServerAddr.sin_port=htons(PORT);//端口转换
 
注意如果直接用sin_port=PORT是不行的。而IP不一定要字符串来转换,还有其他的不一一列举了。
 
最后还是两边的设置要配对呀~ 不然socket怎么知道去哪里? 
顶一下
(4)
44.4%
踩一下
(5)
55.6%
------分隔线----------------------------
你可能感兴趣的内容