TClientSocket反复Open()不成功,为何会出现windows soket error

paihuai 2002-12-12 02:33:02
Windows socket error:由于系统缓冲区空间不足或列队已满,不能执行套接字上的操作。(10055),on API'connect'

我用的版本是c++ builder 6,采用异步socket方式,反复连接不存在的Server时出现上述错误,希望各位高手多多指点!
...全文
87 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
http://expert.csdn.net/Expert/topic/1265/1265214.xml?temp=.6431848
回复
关注.我也碰到了这个问题.
回复
yesry 2002-12-16
在 winsock2.h 定义:
#define WSAENOBUFS (WSABASEERR+55)
就是使用
int connect(
SOCKET s,
const struct sockaddr FAR *name,
int namelen
);
的时候出现了没有缓冲区的错误!
MSDN解释如下:
WSAENOBUFS No buffer space is available. The socket cannot be connected.


嘿嘿,知道如何给分了吧!
回复
老顽童 2002-12-15
我想是OnError和连接成功表示一个连接结束
回复
paihuai 2002-12-12
谢谢指点,但什么时候才是Open结束呢,OnError还是OnDisconnect或别的什么
回复
pp616 2002-12-12
你那有很多client吧。如果是这样那你就必须少一点了。
回复
耙子 2002-12-12
一个ClientSocket只能建立一个连接,你用了Open之后必须等到有结果了才能再次操作这个CilentSocket,
虽然是异步,你不能反复Open,有些时候建立一个连接需要很久,比如对方向得到你的主机名字的时候。
回复
相关推荐
发帖
网络及通讯开发
创建于2007-08-02

1299

社区成员

C++ Builder 网络及通讯开发
申请成为版主
帖子事件
创建了帖子
2002-12-12 02:33
社区公告
暂无公告