• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

用VC++制作一个简单的局域网消息发送工程

发布: 2007-7-14 21:11 | 作者: 佚名    | 来源: 网络转载     | 查看: 51次 | 进入软件测试论坛讨论

领测软件测试网 作者: 梁晨宝

  本工程类似于oicq的消息发送机制,不过他只能够发送简单的字符串。虽然简单,但他也是一个很好的VC网络学习例子。

  本例通过VC带的SOCKET类,重载了他的一个接受类mysock类,此类可以吧接收到的信息显示在客户区理。以下是实现过程:

  建立一个MFC 单文档工程,工程名为oicq,在第四步选取WINDOWS SOCKetS支持,其它取默认设置即可。为了简单,这里直接把about对话框作些改变,作为发送信息界面。

  这里通过失去对话框来得到发送的字符串、获得焦点时把字符串发送出去。创建oicq类的窗口,获得VIEW类指针,进而可以把接收到的信息显示出来。

extern CString bb;
void CAboutDlg::OnKillFocus(CWnd* pNewWnd)
{
 // TODO: Add your message handler code here
 CDialog::OnKillFocus(pNewWnd);
 bb=m_edit;
}
对于OICQVIEW类
char aa[100];
CString mm;
CDC* pdc;
class mysock:public CSocket //派生mysock类,此类既有接受功能
{public:void OnReceive(int nErrorCode) //可以随时接收信息
 {
  CSocket::Receive((void*)aa,100,0);
  mm=aa;
  CString ll=" ";//在显示消息之前,消除前面发送的消息
  pdc->TextOut(50,50,ll);
  pdc->TextOut(50,50,mm);
 }
};

mysock sock1;
CString bb;
BOOL COicqView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
 CView::OnSetFocus(pOldWnd);

 // TODO: Add your message handler code here and/or call default
 bb="besting:"+bb; //确定发送者身份为besting
 sock1.SendTo(bb,100,1060,"192.168.0.255",0); //获得焦点以广播形式发送信息,端口号为1060

 return CView::OnSetCursor(pWnd, nHitTest, message);
}

int COicqView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
 if (CView::OnCreate(lpCreateStruct) == -1)
  return -1;
  sock1.Create(1060,SOCK_DGRAM,NULL);//以数据报形式发送消息

  static CClientDC wdc(this); //获得当前视类的指针
  pdc=&wdc;
  // TODO: Add your specialized creation code here

  return 0;
}

运行一下,打开ABOUT对话框,输入发送信息,enter键就可以发送信息了,是不是有点像qq啊?

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网