国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用VC++制作一個簡單的局域網(wǎng)消息發(fā)送工程

2019-11-17 05:09:53
字體:
供稿:網(wǎng)友

  本工程類似于oicq的消息發(fā)送機制,不過他只能夠發(fā)送簡單的字符串。雖然簡單,但他也是一個很好的VC網(wǎng)絡(luò)學(xué)習(xí)例子。

  本例通過VC帶的SOCKET類,重載了他的一個接受類mysock類,此類可以吧接收到的信息顯示在客戶區(qū)理。以下是實現(xiàn)過程:

  建立一個MFC 單文檔工程,工程名為oicq,在第四步選取WINDOWS SOCKetS支持,其它取默認設(shè)置即可。為了簡單,這里直接把about對話框作些改變,作為發(fā)送信息界面。

  這里通過失去對話框來得到發(fā)送的字符串、獲得焦點時把字符串發(fā)送出去。創(chuàng)建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=" ";//在顯示消息之前,消除前面發(fā)送的消息
   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; //確定發(fā)送者身份為besting
  sock1.SendTo(bb,100,1060,"192.168.0.255",0); //獲得焦點以廣播形式發(fā)送信息,端口號為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);//以數(shù)據(jù)報形式發(fā)送消息

   static CClientDC wdc(this); //獲得當前視類的指針
   pdc=&wdc;
   // TODO: Add your specialized creation code here

   return 0;
}

運行一下,打開ABOUT對話框,輸入發(fā)送信息,enter鍵就可以發(fā)送信息了,是不是有點像QQ啊? 更多文章 更多內(nèi)容請看家庭無線局域網(wǎng)  局域網(wǎng)  局域網(wǎng)專題,或

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 天柱县| 宾阳县| 渝中区| 广宗县| 抚州市| 大城县| 玛曲县| 大英县| 日照市| 温宿县| 东台市| 绿春县| 开化县| 南岸区| 襄樊市| 垫江县| 义乌市| 平顺县| 吉隆县| 剑河县| 夏邑县| 苏尼特右旗| 漳浦县| 石家庄市| 井研县| 托里县| 涟源市| 青海省| 朝阳市| 汉川市| 霞浦县| 宣化县| 平舆县| 天柱县| 壤塘县| 泗洪县| 灌阳县| 会理县| 湟源县| 泾川县| 平泉县|