m_Array.RemoveAll();
m_Array.SetSize(Count);
for(int i=0;i
m_Array.SetAt(i,m_Send[i]);
//发送
m_Comm.SetOutput(COleVariant(m_Array));
m_Send = "";
UpdateData(FALSE);
}
对于数据的接收,应该利用MSComm 控件的OnComm 事件来处理。为其添加响应函数,
代码如下:
void CMSCommDlg::OnOnCommMscomm()
枫叶文学网www.fywxw.com
第11 章 网络编程
·327·
{
// TODO: Add your control notification handler code here
int nEvent;
VARIANT m_input;
char *str, *str1;
int k,i;
CString str2;
//得到事件
nEvent = m_Comm.GetCommEvent();
switch(nEvent)
{
//只对接收数据事件进行处理
case 2:
// 接收缓冲区的字符数目
k = m_Comm.GetInBufferCount();
if(k > 0)
{
//得到接收数据
m_input = m_Comm.GetInput();
str = (char*)(unsigned char*)m_input.parray->pvData;
}
//清除字符串中的不必要字符
i = 0;
str1 = str;
while(i < k)
{
i++;
str1++;
}
*str1 =’\0’;
str2 = (const char*)str;
//得到最终数据
m_Receive += (LPCTSTR)str2;
default:
break;
}
// 显示数据
UpdateData(FALSE);
}
至此,程序设计完成。运行两个程序,分别选择串口1 和串口2,然后收发数据,如图
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·328·
11-19 和图11-20 所示。
图11-19 串口发送数据 图11-20 串口接收数据
11.6 本章小结
本章介绍了网络编程的基本知识及基本步骤,并且详细介绍了WinSock 类。接着利用所
讲知识编程实现了一个网络聊天系统,