rt
解决方案 »
- CADORecordset::FindFirst与FindNext俩个函数的作用是找到第一条数据,找到的这条数据的下一行数据呢?
- 只取目录数据
- 关于GDI CDC 和设备描述表的理解9.52
- 求封装http协议的类
- 使用tcp或udp进行长连接的开发,哪中效率更高,有什么区别(条件是并发量在5万左右)!!!!!!
- 如何使用DataGrid对数据表的数据进行增删改等操作?
- 怎么样可以把VC6的开发环境改成中文的?
- 各位新年好,请教个两个小问题
- 怎么在VC中显示索引范围为1-200的字体(解决后我奉献所有的分有700多分)
- 我对一个PROCESS (例App.exe)诞生/死亡的理解
- 讨论:钩子WH_KEYBORAD_LL的质疑
- 怎样让自己的监控程序知道如oicq,msn,icq等聊天工具有新消息发送来呢?(提议者有分)
取IP地址 ControlSocket-〉GetSockName((SOCKADDR )&&control_address, &&addr_size); /
/取端口 unsigned char port = (unsigned char )&&(listing_address.sin_port); unsigned char host = (unsigned char )&&(control_address.sin_addr); CString strBuffer; strBuffer.Format("PORT %i,%i,%i,%i,%i,%i\r\n",(int)host[0], (int)host[1], (
int)host[2], (int)host[3],(int)port[0], (int)port[1]); ControlSocket-〉Send(strBuffer,strBuffer.GetLength(),0); //发送Port命令,进行数据连接 } 以上代码在VC++ 6.0、Windows 98上运行通过。
CInternetSession session(AfxGetApp()->m_pszAppName);
CFtpConnection* pConn = NULL;
pConn = session.GetFtpConnection(strServerAddress,strUser,strPassword);
if (pConn)
{
pConn->SetCurrentDirectory(strServerPath);
if (!pConn->PutFile(strLocalPath,strServerPath,FTP_TRANSFER_TYPE_BINARY))
{
……
}
pConn->Close();
delete pConn;
session.Close();
所有函数。pF->Read(...)高级用法:1、查找文件,列文件目录。(FTP Tree Sample in VC5)CFTPFileFind类可以帮助你列出当前目录下的所有文件。用法和CFileFind相同。2、断点续传。当打开文件后,可以使用CInternetFile::Seek(...)重定位指针。但如果该服务器
不支持断点续传会产生异常,应该有相应的捕捉代码。
现在遇到一个问题,代码如下,在调用下列的代码前,已经成功连接并登录。
为简化,我去掉了安全防护代码,
if(bPASV)
{ // 发送 PASV命令 PASV();
ReadResponseEx () ;//读取PASV命令的反馈信息
////////////中间省略,代码是从PASV命令的反馈信息中提取ip地址和port号。分别保存在sBuf,和nSvrSock中。 bRet = this->RETR ( pszPathname );
CFtpSocket sckData;//CFtpSocket 是自定义类,封装SOCKET.
sckData.Create ();
if( !sckData.Connect ( sBuf, nSvrSock ) )
{
DWORD dwError = WSAGetLastError();
//dwError 总为10061,也就是连接被拒绝。
}问题就是,当我在本机创建SOCKET 对象,与PASV命令返回的IP地址和端口号连接的时候,总返回错误码 10061(服务器拒绝连接)(No connection could be made because the target machine actively refused it.)。请教各位大虾 ,指点明路 :)