CSocket.Connect(ip,port) CSocket s;.....if(!s.Connect(ip,iPort)) { iReturnValue = 3; s.Close(); return false; } isOpen = true;我的局域网是192.168.1. 的,ip设置的是个连不上的IP地址 10.0.0.101但s.Connect居然通过了,直接运行下面的isOpen = true了。怎么会这样? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果为异步操作,connect会直接返回一个非零值(WSAEWOULDBLOCK),必须通过判断OnConnect()才能确定是否连接正常,所以说能运行到“isOpen=true”,但此时并未真的连接上了 没弄明白,onconnect 怎么用的? BOOL CSocket::Connect( ... ) { if( !CAsyncSocket::Connect( ... ) ) { if( WSAGetLastError() == WSAEWOULDBLOCK ) //由于异步操作需要时间,不能立即完成,所以Socket返回这个错误 { //进入消息循环,以从线程消息队列里查看FD_CONNECT消息,直到收到FD_CONNECT消息,认为连接成功。 while( PumpMessages( FD_CONNECT ) ); } }}virtual void OnConnect( int nErrorCode );因为是虚函数,你需要重载OnConnect方法,nErrorCode 套接字上最近的错误代码,这里可以判断是否连接成功了 按ONCONNECT怎么实现呢?CSocket是用Create创建的。CSocket s;s.Create();s.Connect(); 如果CSocket s;是UDP方式的话。Connect()函数并没有干什么实事,只是bind一下,也就是以后通讯的“对手知道了”。所以几乎永远成功。不知道你的s是不是UDP方式的话。 socket 10060错误 小程序大问题connect MFC单文档创建新的子窗口 想学学VC,可是感觉很吃力 ocx控件加载异常,如何抛出? 关于多工程调用的问题?? 有人用过浩方吗?他的原理是什么? 谁能给介绍下vc下Use Multi-Byte Character Set和Use Unicode Character Set方式下编程有什么区别? 如何把视图坐标转换为屏幕坐标 COM客户程序怎么使用COM? vector释放问题 输入汉语拼音首字母,如何得到相应的汉字姓名 服务端识别客户ID的问题
没弄明白,onconnect 怎么用的?
{
if( !CAsyncSocket::Connect( ... ) )
{
if( WSAGetLastError() == WSAEWOULDBLOCK ) //由于异步操作需要时间,不能立即完成,所以Socket返回这个错误
{
//进入消息循环,以从线程消息队列里查看FD_CONNECT消息,直到收到FD_CONNECT消息,认为连接成功。
while( PumpMessages( FD_CONNECT ) );
}
}}
virtual void OnConnect( int nErrorCode );
因为是虚函数,你需要重载OnConnect方法,nErrorCode 套接字上最近的错误代码,这里可以判断是否连接成功了
按ONCONNECT怎么实现呢?CSocket是用Create创建的。CSocket s;
s.Create();
s.Connect();
Connect()函数并没有干什么实事,只是bind一下,也就是以后通讯的“对手知道了”。所以几乎永远成功。不知道你的s是不是UDP方式的话。