// MySocket.cpp : implementation file
//
#include "stdafx.h"
#include "LanMessage.h"
#include "MySocket.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/
// CMySocket
CMySocket::CMySocket()
{
}
CMySocket::~CMySocket()
{
}
void CMySocket::OnReceive(int n)//消息响应处理
{
if(dlg->online)//在线才进行响应
{
mes trans;
if(!Receive((void*)&trans,sizeof(trans))){return;}//获取服务器消息
CString txt1=trans.from,txt2="在线用户";
if(txt1==txt2)//如果是"在线客户"消息
{
CString show;
show.Format("当前用户:%s
%s:%s",dlg->me,trans.from,trans.content);
dlg->m_online=show;
dlg->UpdateData(false);//刷新主界面
}
else if(trans.from[0]==_)//如果是文件消息
{
CStdioFile put;
CString name=trans.from;
name=name.Mid(1);//获取文件名
if(!put.Open(name,CFile::modeCreate|CFile::modeWrite))//将文件内容存储
{ AfxMessageBox("创建文件失败!");return;}
else put.WriteString(trans.content);
put.Close();
}
else {//如果是普通消息
CString show;
show.Format("From %s:%s
",trans.from,trans.content);
dlg->m_show+=show;
dlg->UpdateData(false);//刷新主界面
}
}
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CMySocket, CSocket)
//{
{AFX_MSG_MAP(CMySocket)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
/
// CMySocket member functions