我想做一个小的程序。就是在客户端发出一个命令。将些命令传给服务器端。然后在服务器端给予响应,并做出相应的处理,如发送数据?
解决方案 »
- 循环new 类的对象来存储数据 最后怎么删除释放内存
- 请教一下学网络编程应该看些什么书呢??
- SORCKET编程最基础例子通过了编译,但是链接出错,希望大家帮帮我!
- 急!用CHttpConnection等MFC封装的WinINet类,下载网站文件时无法正确识别URL所包含的文件名及类型.
- VS2005 mfc(智能设备应用程序),怎么调用windows Media player??
- 锁定鼠标小程序,在Release模式下执行的结果不对,锁定不了呀?
- 怎样判断系统当前安装字体是否支持指定字符
- 请问在sdi中怎样运行excel环境,并且怎样对它进行保存,导入
- 哪里有比较好的算法,把16位的BMP转换成256色的?
- 问大家一个问题:
- VC中怎样获取文件的md5?
- 求写个xml格式的数据,很简单
如果想发送数据;可再建一个数据通道,专门处理大量数据的传输;
比如说服务器的一个函数DealCommand(string a);
命令通道受到数据后,用一个函数处理受到的命令,看对应哪个字符串,然后执行相应的动作;
void CListenSoc::OnAccept(int nErrorCode)
{
CSocket::OnAccept(nErrorCode);
if(nErrorCode!=0){
AfxMessageBox("cannot accept listen");
return;
}
else{
m_dlg->AcceptConnect();
}
void CServerDlg::AcceptConnect()
{
s_Server=new CServerSocket(this); if(!m_ListenSocket->Accept(*s_Server))
{
AfxMessageBox("Cannot accept connect!");
}}
void CServerSocket::OnReceive(int nErrorCode)
{ if(!m_dlg->GetMessage2())
AfxMessageBox("error");
CSocket::OnReceive(nErrorCode);
}
bool CServerDlg::GetMessage2()
{
char buff[1000];
int count;
count=s_Server->Receive(buff,1000);
buff[count]=0;
m_str+=buff;
m_str+=_T("\r\n");
UpdateData(0);
return true;
}
}
客户端发送Send
void CMyclientDlg::OnButtonSend()
{
UpdateData();
int n;
char message[1000];
CString strTemp=m_strName+": "+strMsg;
n=strTemp.GetLength();
//message=new char(n+1);
sprintf(message,"%s",strTemp.GetBuffer(n));
message[n]=0;
if (sClient->Send(message,n+1)==(n+1))
{
TRACE("成功!!!");
}
else
{
AfxMessageBox("网络传输错误!!!");
}
}
----------------------
你设计个结构体丢过去就好了,服务端接收后再读出来
人家只是给你个DEMO