我做一个C/S的东西。
客户端要向服务器传 各种命令
用户注册 则发送CString ,“NewUser”
但是两端传文件的话要用二进制的方式传
就是说有两种情况:
1。传文本
2。传byte
怎么实现啊?OnReceive()能重载么?
能的话怎么做好?
客户端要向服务器传 各种命令
用户注册 则发送CString ,“NewUser”
但是两端传文件的话要用二进制的方式传
就是说有两种情况:
1。传文本
2。传byte
怎么实现啊?OnReceive()能重载么?
能的话怎么做好?
struct PktHead
{
DWORD m_Flag;
WORD m_Type;
WORD m_What;
DWORD m_Len;
BYTE Reserved[32];
};
m_Flag 通讯数据的表示
m_Type m_What 组合来判断数据是那种命令
m_Len 数据的长度
Reserved 为保留字段
CFileException ex;
pFile.Open(FileName,CFile::modeRead,&ex); //| CFile::typeBinary
int nRead = 1;
while(nRead > 0){
char pBuf[2049];
nRead = 0;
nRead = pFile.Read(pBuf,2048);
Cnt += nRead;
pBuf[nRead] = 0;
if(nRead > 0){
((CNClientApp *)AfxGetApp())->m_socket->SendData(pBuf);
}
}
pFile.Close();
这样子发可以么?但是接受的文件打不开,但若接受的是文本文件,怎能打开,何解?