swomfs 2017-04-19 12:59 采纳率: 0%
浏览 723

MFC CSocket 在VS2010下客户端只能接收一次服务器的返回信息,而且客户端卡死了

CSocket sock_client;
......

void Cftp_clientDlg::OnBnClickedconnect()
{
AfxSocketInit();
if(!sock_client.Create())
{
AfxMessageBox(_T("socket创建失败!"));
return;
}

UpdateData(true);

if(!sock_client.Connect(m_host,m_port))
{
    AfxMessageBox(_T("socket连接服务器失败!"));
    return;
}
MySockRecv();
CString send_msg;
send_msg = "USER ";
send_msg += m_name;
send_msg += "\r\n";
MySockSend(send_msg);
MySockRecv();
send_msg = "PASS ";
send_msg += m_password;
send_msg += "\r\n";
MySockSend(send_msg);
MySockRecv();


void Cftp_clientDlg::MySockRecv()
{
char buf_recv[200] = "";
if(SOCKET_ERROR == sock_client.Receive(buf_recv,199))
{
AfxMessageBox(_T("数据接收失败!"));
return;
}
CString show_msg("响应:");
show_msg += buf_recv;
m_listbox.AddString(show_msg);
}

void Cftp_clientDlg::MySockSend(CString send_msg)
{
if(SOCKET_ERROR == sock_client.Send(send_msg,send_msg.GetLength()))
{
AfxMessageBox(_T("数据发送失败!"));
return;
}
CString show_msg("命令:");
show_msg += send_msg;
m_listbox.AddString(show_msg);
}图片说明

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥35 平滑拟合曲线该如何生成
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集