急问!!!MFC中用 CSocket和 Archive进行通讯的问题.

diligenthan 2003-08-24 09:47:32
server能够收到Client发送的字符串,但是server发送的确认Client没有任何反应.

CMsg类是从CObject类派生的,用于基于CArchive的数据发送和接受,定义如下;
class CMsg : public CObject
{
protected:
DECLARE_DYNCREATE(CMsg)
public:
CMsg();

// Attributes
public:
CString m_strText;
BOOL m_bClose;
CStringList m_msgList;

// Operations
public:
void Init();

// Implementation
public:
virtual ~CMsg();
virtual void Serialize(CArchive& ar);
}

CMsg的Serialize函数:
void CMsg::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar << (WORD)m_bClose;
ar << m_strText;
}
else
{
WORD wd;
ar >> wd;
m_bClose = (BOOL)wd;
ar >> m_strText;
}
m_msgList.Serialize(ar);
}



client 端的CClientSocket类从CSocket类派生,用于和server的通讯:
class CTestDlg;
class CClientSocket : public CSocket
{
DECLARE_DYNAMIC(CClientSocket);

// Attributes
public:
CTestDlg* m_pDlg;
// Operations
public:
CClientSocket(CTestDlg* pDlg);
virtual ~CClientSocket();

// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CClientSocket)
//}}AFX_VIRTUAL

// Generated message map functions
//{{AFX_MSG(CClientSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG

// Implementation
protected:
virtual void OnRecieve(int nErrorCode);
};


其中OnRecieve函数如下:
void CClientSocket::OnRecieve(int nErrorCode)
{

CSocket::OnReceive(nErrorCode);
m_pDlg->ProcessPendingMsg();

}

server的确认
/*CMsg msg;
msg.Init();
CString temp="ok!";
msg.m_strText=temp;

SendMsg(pSocket,&msg);*/

请问是怎么回事,如何解决?
...全文
34 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
diligenthan 2003-08-25
  • 打赏
  • 举报
回复
CFile对象我已经创建了,只是没有贴出来,只用一个CFile对象就可以了吧,CFile对象和Socket绑定,两个Achive和CFile绑定,一个用于接受数据,一个用于发送。问题是server能够收到数据,但发送确认client却没有反应。
Healer 2003-08-25
  • 打赏
  • 举报
回复
不是这么玩的.
还要两个个CFile类的实例呢.

Socket和file绑定

Achive和file也要绑定
那样就完了.
然后你就ar<< << <<

boymaxzm 2003-08-25
  • 打赏
  • 举报
回复
使用CSocketFile,我现在再用,工作的很好
redby 2003-08-25
  • 打赏
  • 举报
回复
不要用Achive了,

18,356

社区成员

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

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