在用winsock时遇到难题

zjfzju 2004-04-24 12:31:56
要编写FTP客户端
已经connect了
可是发送命令后 接受数据时总是返回SOCKET_ERROR
CString cmd="PORT 10,111,21,113,10,1";
int n=send(m_server,cmd,sizeof(cmd),0);
iReturn = recv (m_server, szClientA, sizeof (szClientA), 0);

if (iReturn == SOCKET_ERROR)
{
MessageBox (TEXT("SOCKET_ERROR"));
break;
}

怎么办啊?
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
halk 2004-04-24
  • 打赏
  • 举报
回复
send参数错误。取字串长度也不能用sizeof。
建议:
CString cmd="PORT 10,111,21,113,10,1";
int n=send(m_server,(LPCTSTR)cmd,strlen(cmd),0);

或者char cmd[] = "PORT 10,111,21,113,10,1";
int n=send(m_server,cmd,strlen(cmd),0);

aftravel 2004-04-24
  • 打赏
  • 举报
回复
CString cmd="PORT 10,111,21,113,10,1"; ???
看一下send()的参数
ToIP 2004-04-24
  • 打赏
  • 举报
回复
GetLastError();//WSAGetLastError();

看下错误代码,就知道问题所在了,你代码这么短,无法看出问题
comman_wang 2004-04-24
  • 打赏
  • 举报
回复
同意 halk(夜风)。

也可以采用:
CString cmd="PORT 10,111,21,113,10,1";
int n=send(m_server,cmd.GetBuffer(0),cmd.GetLength(),0);

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧