社区
网络编程
帖子详情
API Socket中的connect问题
mooninsun
2005-04-28 04:11:41
有这几点问题:
1.我编了个服务器端口8090和客户端,我调用connect连接环回地址127.0.0.1:8091
可是一直返回10035--WSAEWOULDBLOCK错误,为什么???
2.我用WSAAsyncSelect模型,connect调用时产生FD_CONNECT,如果不在FD_CONNECT中重写connect,
程序好象就不在调用connect了,不是说connect成功才产生FD_CONNECT的吗???
请高手指教,谢谢!!!
...全文
312
30
打赏
收藏
API Socket中的connect问题
有这几点问题: 1.我编了个服务器端口8090和客户端,我调用connect连接环回地址127.0.0.1:8091 可是一直返回10035--WSAEWOULDBLOCK错误,为什么??? 2.我用WSAAsyncSelect模型,connect调用时产生FD_CONNECT,如果不在FD_CONNECT中重写connect, 程序好象就不在调用connect了,不是说connect成功才产生FD_CONNECT的吗??? 请高手指教,谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mooninsun
2005-04-29
打赏
举报
回复
对的,10022在MSDN里:In some instances, it also refers to the current state of the socket - for instance, calling accept on a socket that is not listening.
c4313848
2005-04-29
打赏
举报
回复
你要是在WSAAsyncSelect之后connect在补捉这个的确是FD_CONNECT,我记得,绑定FD_CONNECT之后,connect就进入了阻塞状态,在CONNECT是返回10035,也许我的解释是错的.
但是10022,我没有试过,
mooninsun
2005-04-29
打赏
举报
回复
是的,我把WSAAsyncSelect写在CONNECT之前
就是WM_INITDIALOG里socket调用之后:
WSAAsyncSelect (clientSock, hwnd, WM_SOCKET, FD_CONNECT|FD_READ|FD_WRITE|FD_CLOSE);
这样对吗?
c4313848
2005-04-29
打赏
举报
回复
WSAEINVAL (10022) Invalid argument.
提供了非法参数(例如,在使用setsockopt()函数时指定了非法的level)。在一些实例中,它也可能与套接字的当前状态相关,例如,在套接字没有使用listen()使其处于监听时调用accept()函数。
10022我倒是不知道,你没有开服务器,在我想当中应该是对方主机没有反应返回的错误
c4313848
2005-04-29
打赏
举报
回复
恩,你是用WSAAsyncSelect在CONNECT之前吧
然后才判断CONNECT的连接是否成功是吗
mooninsun
2005-04-29
打赏
举报
回复
现在如果不开服务器
试图连接时,首先返回10035,接着10022
mooninsun
2005-04-29
打赏
举报
回复
而且,如果不开服务器,
试图连接时,也回连接成功了,但是紧接着就是一个10035的错误
mooninsun
2005-04-29
打赏
举报
回复
我按你的方法做了
的确连接成功了,但是紧接着就是一个10035的错误,
为什么呢?
c4313848
2005-04-29
打赏
举报
回复
要是在CONNECT之前WSAAsyncSelect的话,你connect的时候,可以不用判断能否连接上,然后就是在
FD_CONNECT之后加入int iErrorCode = WSAGETSELECTERROR(lParam);
是在事件响应里
case FD_CONNECT:
{
if( 0 == iErrorCode )
TRACE("连接成功");
else
connect ();//重新连接
}
我一般是用这个做重连的
c4313848
2005-04-29
打赏
举报
回复
你可以,只WSAAsyncSelect一次,要是在CONNECT之后就不会有这种事情,
c4313848
2005-04-29
打赏
举报
回复
要是在connect之前绑定FD_CONNECT的话,你在CONNECT是有这个问题,这个可以做成重连的,
给你一个做法,
我一般是第一次连接的时候,没有判断就直接CONNECT();
是在事件响应里
int iErrorCode = WSAGETSELECTERROR(lParam);
是在事件响应里
case FD_CONNECT:
{
if( 0 == iErrorCode )
TRACE("连接成功");
else
connect ();//重新连接
}
dyugao
2005-04-29
打赏
举报
回复
1.我编了个服务器端口8090和客户端,我调用connect连接环回地址127.0.0.1:8091
是不是写错了?
连接环回地址127.0.0.1:8090?
mooninsun
2005-04-29
打赏
举报
回复
我看到了,谢谢,我的QQ:89556293
c4313848
2005-04-29
打赏
举报
回复
你有没有在vckbase上面看见这个 SOCKET API通讯程序源代码.zip,
要是没有这个例子,你把qq留下,我发给你
mooninsun
2005-04-29
打赏
举报
回复
好的
c4313848
2005-04-29
打赏
举报
回复
恩,WWW.VCKBASE.COM 我记的有例子,你可以去找一个看看
mooninsun
2005-04-29
打赏
举报
回复
c4313848
能帮我看一下代码吗?
我实在不晓得怎么办了,我重写了个简单的代码,但还有问题
mooninsun
2005-04-29
打赏
举报
回复
我怀疑我的服务器的问题
c4313848
2005-04-29
打赏
举报
回复
嘻嘻,我越看越糊涂了,
ACCEPT跟CONNECT 有什么关系
mooninsun
2005-04-29
打赏
举报
回复
是吗?
那我只有重写代码了:(
加载更多回复(10)
Socket
编程系列之1:Linux-
API
网络编程入门实战
网络编程入门实战----------------------------------------------------
Socket
编程系列之1:Linux-
API
网络编程入门实战 Linux编程环境 Linux文件系统 TCP/IP协议简介 应用层协议简介 TCP网络编程基础 IO复用机制 ...
网络编程
socket
之
connect
函数
网络编程
socket
api
存在一批核心接口,而这一批核心接口就是几个看似简单的函数,尽管实际上这些函数没有一个是简单。
connect
函数就是这些核心接口的一个函数,它完成主动连接的过程。
connect
函数的功能是完成一个...
socket
编程:
connect
函数
网络编程
socket
api
存在一批核心接口,而这一批核心接口就是几个看似简单的函数,尽管实际上这些函数没有一个是简单。
connect
函数就是这些核心接口的一个函数,它完成主动连接的过程。
connect
函数的功能是完成一个...
httpclient
connect
timeout
socket
timeout区别
解释httpclient作为http工具包,是基于
socket
的封装,所以httpclient的
connect
Timeout、
socket
Timeout到底层都是
socket
的
connect
Timeout、
socket
Timeout首先看一下 java
api
,对
connect
Timeout、
socket
Timeout的解释...
C
Socket
Connect
超时设置
Linux 使用
socket
相关
API
C:
socket
connect
ion timeout 参考文献 [1]. stackoverflow . Winsock C++
connect
timeout . 2017.09 . https://stackoverflow.com/questions/46045434/winsock-c-
connect
-timeout [2]....
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章