📄 d098.bmp.txt
字号:
CDialog::OnTimer(nIDEvent);
}
(9)发送和接收数据
在实现了客户机和服务器两个应用程序相互连接之后,下一步要做的就是在两个应用程
序之间实现消息的发送和接收。如果两个程序建立了连接,用户就能够在对话框窗口的编辑
框中输入文本消息,然后单击“发送”按钮,可以把消息发送到另一个应用程序。使用
ClassWizard向“发送”按钮(IDC_SEND)的单击事件(BN_CLICKED)添加一个事件处理函
数。这里需要注意一下,函数默认的函数名是OnSend(),此时基于对话框的应用程序默认键
是<Enter>键,按下<Enter>键后,消息被发送;若不接受默认的函数名,将函数名改为其他
名称,如OnSendMsg0,这样处理后,就屏蔽了基于对话框的应用程序对<Enter>键的默认功
能。编辑该函数,代码如下:
void CLANServerClientDlg::OnSend()
{
//TODO: Add your control notification handler code here
UpdateData(true);
char ch[2551;
strcpy(ch, LPCTSTR(m_lnfo》;
if( !m_Type )
{
m_SocketServer.SendStr(m_lnfo);
}
else
{
m_SocketClient.SendS tr(m_lnfo) ;
}
}
茌这里,根据当前应用程序的不同角色,分别调用CLanSocketServer和CLanSocketClient
的SendStr()函数,发送消息字符串m_lnfo。
数据的接收方响应消息WM_NET_MESSAGE,以及当前状态为CLIENTREAD或者
SERVERREAD时,分别在CLanSocketClient和CLanSocketServer的GetMessStr()函数,获
得消息字符串str,再赋值给m_lnfo,然后显示在对话框中。
(10)关闭连接
对按钮停止(IDC_STOP)、单击事件(BN_CLICKED)添加一个事件处理函数。编辑
该函数,代码如下:
void CLANServerClientDlg::OnStop0
{
//TODO: Add your control notification handler code here
if( !m_Type)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -