Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16496799
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:52:48

下载本文示例代码
  本工程类似于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啊?   本工程类似于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啊? 下载本文示例代码


用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程用VC 制作一个简单的局域网消息发送工程
阅读(105) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~