青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

網(wǎng)絡(luò)軟件開發(fā)

網(wǎng)絡(luò)軟件開發(fā),vc ++ 、linux 、asp、sql server 2000 android、iOS

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  5 隨筆 :: 1 文章 :: 45 評(píng)論 :: 0 Trackbacks

2008年5月7日 #

     摘要: SkinEngine控件是一組用于優(yōu)化界面設(shè)計(jì)可視化控件,它重寫了大部分可視化組件的源代碼,使其外觀更為美觀漂亮,美化了程序界面的設(shè)計(jì),使得程序員可以把更多的精力放在系統(tǒng)軟件功能的設(shè)計(jì)上.
首先從網(wǎng)上下載SkinEngine控件的安裝包,我下載的是3.4.7版本,下載以后發(fā)現(xiàn)這個(gè)控件的安裝竟然是windows的軟件安裝方式(而不是delphi安裝第三方控件的安裝包方式),安裝后發(fā)現(xiàn)系統(tǒng)的程序菜單多了一項(xiàng)SkinEngine
  閱讀全文
posted @ 2008-05-07 01:45 信任 閱讀(1801) | 評(píng)論 (0)編輯 收藏

2008年5月3日 #

     摘要: /******************************************************************************
* Copyright (C) 2000 by Robert Hubley. *
* All rights reserved. *
* *
* This software is provided ``AS IS'' and any express or implied *
* warranties, including, but not limited to, the implied warranties of *   閱讀全文
posted @ 2008-05-03 17:26 信任 閱讀(505) | 評(píng)論 (0)編輯 收藏

2006年8月5日 #

??? ?? 一直以來都想有自己的即時(shí)通訊軟件,所以也一直致力于即時(shí)通訊軟件的開發(fā)。今天完成的是軟件的兩個(gè)界面。拿出來給大家看看,哈哈:)
?? ? 歡迎交流哦。
???? 軟件登錄界面:

???? 軟件登錄成功頁面:
posted @ 2006-08-05 14:19 信任 閱讀(966) | 評(píng)論 (5)編輯 收藏

2006年8月4日 #

????? 當(dāng)我們在網(wǎng)頁上看到關(guān)于QQ或是淘寶旺旺的在線連接的時(shí)候,點(diǎn)擊那個(gè)連接的時(shí)候,會(huì)判斷你的系統(tǒng)里是否裝了該軟件,如果裝了則彈出聊天窗口;如果沒有安裝則提示你去安裝。
?????? 這個(gè)效果用到了 ActiveX控件等。我是用asp和ActiveX實(shí)現(xiàn)該功能的,其中也用到了Javascript腳本語言。
posted @ 2006-08-04 11:46 信任 閱讀(867) | 評(píng)論 (0)編輯 收藏

2006年7月27日 #

Socket編程在大多數(shù)的編程語言中都是一件比較有趣的事情。它是比較常用的編寫通過網(wǎng)絡(luò)通信的服務(wù)器和客戶端方法。在windows平臺(tái)Socket通信大多是基于MS Winsock設(shè)計(jì)的。Windows支持基于TCP和UDP的socket通信。Windows APIs在socket編程中是非常有用的,但是有些人發(fā)現(xiàn)在用它們工作的時(shí)候有困難。
所以在這里我介紹一種最簡單用MFC socket類進(jìn)行socket編程的方法。這不僅可以使你的工作變得簡單而且能減少你在網(wǎng)絡(luò)程序上的開發(fā)時(shí)間。你可以定制一個(gè)socket類,然后你可以在你的其他的網(wǎng)絡(luò)應(yīng)用程序中重用。
在socket編程中,MFC提供了兩個(gè)基本的類,分別是CAsyncSocket和Csocket。Csocket是從CAsyncSocket繼承來的。我們可以建立定制的socket類,也是從CasyncSocket繼承而來的,當(dāng)然也是為了我們程序特殊的需要。
初始化socket
首先需要調(diào)用AfxSocketInit()函數(shù)來初始化我們的socket環(huán)境。
為了初始化sockets,我們需要調(diào)用AfxSocketInit()函數(shù)。它通常是在MFC中的InitInstance()函數(shù)中被調(diào)用的。如果我們用程序向?qū)韯?chuàng)建socket程序的話,查看“use Windows Sockets”這個(gè)選項(xiàng),然后選中它。它將會(huì)自動(dòng)的為我們創(chuàng)建這個(gè)步驟了。(如果我們沒有選中這個(gè)選項(xiàng)的話,我們也可以手動(dòng)添加這些代碼的。)這個(gè)函數(shù)的返回值顯示這個(gè)函數(shù)的調(diào)用成功或失敗。
BOOL CServerApp::InitInstance()
{....
if( AfxSocketInit() == FALSE)
  {
  AfxMessageBox("Sockets Could Not Be Initialized");
  return FALSE;
  }
  ...
}
創(chuàng)建Server Sockets
為了創(chuàng)建一個(gè)Server Socket,我們需要聲明一個(gè)CAyncSocket的變量或者我們自己定制的一個(gè)從AyncSocket或是Cscket繼承來的類的類型的變量。然后調(diào)用Create()函數(shù),同時(shí)指定監(jiān)聽的端口。這個(gè)函數(shù)的返回值顯示這個(gè)函數(shù)的調(diào)用成功或失敗。
UpdateData(TRUE);
m_sListener.Create(m_port);
if(m_sListener.Listen()==FALSE)
{
AfxMessageBox("Unable to Listen on that port,please try another port");
m_sListener.Close();
return;
}
創(chuàng)建Client Sockets
為了創(chuàng)建Client socket類,我們需要聲明一個(gè)CAyncSocket的變量或者我們自己定制的一個(gè)從AyncSocket或是Cscket繼承來的類的類型的變量。然后調(diào)用Create()函數(shù),同時(shí)指定監(jiān)聽的端口。這個(gè)函數(shù)的返回值顯示這個(gè)函數(shù)的調(diào)用成功或失敗。
m_sConnected.Create();
m_sConnected.Connect("server ip",port);
監(jiān)聽客戶端的連接
創(chuàng)建了server socket以后,我們要進(jìn)行監(jiān)聽。調(diào)用Listen()函數(shù)。這個(gè)函數(shù)的返回值顯示這個(gè)函數(shù)的調(diào)用成功或失敗。
if( m_sListener.Listen()== FALSE)
{
AfxMessageBox("Unable to Listen on that port,please try another port");
m_sListener.Close();
return;
}
接受連接
連接請求要被接受accept,是用另外的socket,不是正在監(jiān)聽的socket。請參看代碼。
void CXXXDlg::OnAccept()
{
 CString strIP;
 UINT port;
 if(m_sListener.Accept(m_sConnected))
 {
  m_sConnected.GetSockName(strIP,port); //應(yīng)該是GetPeerName,獲取對(duì)方的IP和port
  m_status="Client Connected,IP :"+ strIP;
  m_sConnected.Send("Connected To Server",strlen("Connected To  Server"));     
UpdateData(FALSE);
 }
 else
 {
 AfxMessageBox("Cannoot Accept Connection");
 }
}
發(fā)送數(shù)據(jù)
數(shù)據(jù)放在一個(gè)buffer中或是結(jié)構(gòu)體中,調(diào)用send()函數(shù)發(fā)送。
m_sConnected.Send(pBuf,iLen);
接受數(shù)據(jù)
調(diào)用receive()接受數(shù)據(jù)。
void CXXXrDlg::OnReceive()
{
char *pBuf =new char [1025];
CString strData;
int iLen;
iLen=m_sConnected.Receive(pBuf,1024);   
if(iLen == SOCKET_ERROR)     
  {
  AfxMessageBox("Could not Recieve");     
  }     
else    
  {
  pBuf[iLen]=NULL;
  strData=pBuf;
  m_recieveddata.Insert(m_recieveddata.GetLength(),strData);
 //display in server             
 UpdateData(FALSE);
 m_sConnected.Send(pBuf,iLen);  //send the data back to the Client    
 delete pBuf;         
  }
}
關(guān)閉連接
m_sConnected.ShutDown(0);    停止發(fā)送數(shù)據(jù)
m_sConnected.ShutDown(1);    停止接受數(shù)據(jù)
m_sConnected.ShutDown(2);    停止發(fā)送接受數(shù)據(jù)
m_sConnected.Close();
編寫自己的socket類
在class view中選擇添加一個(gè)新類,設(shè)置它的基類為CAsyncSocket,在類向?qū)У膸椭绿砑尤缦碌囊恍┖瘮?shù)。
class MySocket : public CAsyncSocket
{ // Attributes
public:
 // Operations
public:
MySocket();
virtual ~MySocket();
// Overrides
public:
void SetParentDlg(CDialog *pDlg);// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(MySocket)
public:
virtual void OnAccept(int nErrorCode);
virtual void OnClose(int nErrorCode);
virtual void OnConnect(int nErrorCode);
virtual void OnOutOfBandData(int nErrorCode);
virtual void OnReceive(int nErrorCode);
virtual void OnSend(int nErrorCode);
//}}AFX_VIRTUAL // Generated message map functions
//{{AFX_MSG(MySocket)
// NOTE - the ClassWizard will add and remove member functions here. //}}AFX_MSG
protected:
private:
CDialog * m_pDlg;
};
設(shè)置“Parent Dialog”
調(diào)用這個(gè)socket類的SetParentDlg函數(shù),保證當(dāng)socket事件發(fā)生的時(shí)候這個(gè)窗體能接收到。
m_sListener.SetParentDlg(this);
m_sConnected.SetParentDlg(this);
建立Socket 事件和窗體成員函數(shù)之間的聯(lián)系
在這個(gè)窗體類中添加一些函數(shù),比如void OnReceive(); void OnClose(); void OnAccept(); void OnConnect()等,它們會(huì)在我們編寫的的socket類中調(diào)用到。
void MySocket::OnAccept(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
if(nErrorCode==0)
{
((CServerDlg*)m_pDlg)->OnAccept();
}
CAsyncSocket::OnAccept(nErrorCode);
}
這里只寫了一個(gè)OnAccept()函數(shù),其他的幾個(gè)中也有類似的調(diào)用。詳細(xì)的請參考代碼。


email: ghs_linux@163.com
歡迎交流哦 :)

posted @ 2006-07-27 12:05 信任 閱讀(6085) | 評(píng)論 (38)編輯 收藏

僅列出標(biāo)題  
敏捷軟件、敏捷企業(yè)管理系統(tǒng) 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产一区二区三区在线观看视频| 欧美日韩精品| 久久精品99| 国产精品第三页| 91久久精品国产91性色tv| 欧美一区二区免费观在线| 欧美高清视频一区二区| 久久九九99视频| 国产精品一区二区视频| 中文亚洲字幕| 日韩视频一区二区在线观看 | 久久激情视频免费观看| 在线视频亚洲| 国产精品免费看| 亚洲欧美日韩综合国产aⅴ| 夜夜嗨av一区二区三区网站四季av | 在线国产日韩| 美女任你摸久久| 久久综合狠狠| 亚洲精品网址在线观看| 亚洲日韩欧美视频| 另类国产ts人妖高潮视频| 亚洲成在人线av| 91久久中文字幕| 欧美视频在线播放| 久久国产精品黑丝| 老**午夜毛片一区二区三区| 亚洲欧洲日本国产| 洋洋av久久久久久久一区| 国产精品久久综合| 久久久国产视频91| 国产欧美日韩在线| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美日韩国产| 国产丝袜一区二区| 欧美激情二区三区| 欧美系列一区| 久久久久久久久一区二区| 久久久免费av| 亚洲美女毛片| 亚洲欧美国产高清| 亚洲国产综合91精品麻豆| 亚洲美女在线一区| 国内成+人亚洲| 亚洲欧洲精品成人久久奇米网| 国产精品不卡在线| 欧美1区2区3区| 国产精品99免视看9| 麻豆精品视频在线观看| 欧美日韩三级电影在线| 久久天天狠狠| 欧美日韩亚洲一区二区三区四区| 亚洲在线成人| 裸体素人女欧美日韩| 亚洲一区一卡| 蜜臀a∨国产成人精品| 亚洲国产高清在线观看视频| 亚洲一区二区日本| 极品尤物久久久av免费看| 亚洲高清自拍| 国产精品乱子乱xxxx| 免费一级欧美片在线播放| 欧美日韩成人在线视频| 久久久久久久久综合| 欧美三级不卡| 亚洲国产精品va在看黑人| 国产日产欧产精品推荐色 | 欧美在线免费观看| 国产精品三级视频| 久久精品在线| 欧美日本网站| 蜜桃av一区二区| 国产精品嫩草影院av蜜臀| 欧美高清一区| 国产自产2019最新不卡| 日韩亚洲不卡在线| 久久黄色影院| 午夜精品福利一区二区三区av| 欧美成人免费播放| 老鸭窝91久久精品色噜噜导演| 国产精品成人免费| 99精品视频免费全部在线| 亚洲第一中文字幕| 亚洲卡通欧美制服中文| 欧美一区二区三区日韩| 欧美成人黄色小视频| 一区二区三区 在线观看视| 国产一区二区在线观看免费| 一本大道久久a久久精二百| 最新国产乱人伦偷精品免费网站| 香蕉久久久久久久av网站| 亚洲专区在线| 国产精品电影在线观看| 一本久道久久久| 亚洲无玛一区| 国产精品久久久久久av福利软件| 日韩一级在线观看| 在线亚洲激情| 欧美偷拍一区二区| 一区二区三区日韩欧美精品| av72成人在线| 欧美亚州一区二区三区| 亚洲图中文字幕| 欧美在线观看日本一区| 国产一区成人| 久久综合伊人77777蜜臀| 亚洲一卡久久| 亚洲影视九九影院在线观看| 欧美久久成人| 亚洲精品一二三| 亚洲一区二区三区四区五区黄| 欧美日韩国产bt| av成人免费在线观看| 欧美亚洲在线视频| 国产亚洲欧美日韩精品| 久久九九电影| 亚洲欧洲在线免费| 亚洲一区二区在线播放| 国产乱子伦一区二区三区国色天香 | 欧美日韩亚洲综合在线| 一区二区不卡在线视频 午夜欧美不卡在 | 国内精品久久久久影院薰衣草| 午夜精品美女久久久久av福利| 久久成人免费视频| 亚洲第一成人在线| 欧美日本在线| 欧美一区三区二区在线观看| 欧美成人一区二免费视频软件| 日韩亚洲在线| 国产亚洲精品aa午夜观看| 久久婷婷国产综合精品青草| 亚洲精品一区二区在线| 久久国产综合精品| 亚洲特黄一级片| 亚洲国产精品久久久久秋霞影院 | 国产精品第13页| 欧美一区二区三区播放老司机| 欧美成人免费小视频| 亚洲淫性视频| 亚洲国产日韩欧美综合久久| 欧美日韩少妇| 久久久久久一区| 99综合视频| 欧美1级日本1级| 欧美一区二区三区日韩| 亚洲精品一区二区三| 国产一区二区久久久| 欧美日韩一级片在线观看| 久久青草久久| 亚洲欧美日韩一区在线| 亚洲人成绝费网站色www| 久久av最新网址| 日韩视频亚洲视频| 亚洲成色www8888| 国产亚洲福利| 国产精品成人免费视频| 欧美凹凸一区二区三区视频| 性欧美1819sex性高清| 夜夜狂射影院欧美极品| 亚洲激情影视| 欧美福利一区二区三区| 久久久亚洲国产天美传媒修理工| 一本久道久久综合婷婷鲸鱼| 亚洲韩国精品一区| 1024亚洲| 黄色亚洲免费| 国产午夜一区二区三区| 国产乱码精品| 欧美一级欧美一级在线播放| 一区二区日韩伦理片| 日韩一级网站| 日韩视频免费| 日韩亚洲精品在线| 日韩午夜黄色| 一二三区精品福利视频| 在线亚洲+欧美+日本专区| 99亚洲伊人久久精品影院红桃| 亚洲欧洲一区二区三区| 亚洲欧洲一区二区在线播放| 亚洲国产一区二区视频| 欧美黄污视频| 亚洲电影免费观看高清完整版在线观看 | 国内精品久久久| 国产日韩欧美高清免费| 国产欧美一区二区色老头| 国产精品一区二区久久精品| 国产精品人人做人人爽| 国产精品亚洲аv天堂网| 国产麻豆91精品| 国内外成人免费视频| 黄网站色欧美视频| 亚洲国产精品成人精品| 99热免费精品在线观看| 国产精品99久久久久久有的能看 | 卡通动漫国产精品| 亚洲国产精品一区| 日韩香蕉视频| 亚洲男人第一av网站| 久久久99爱| 欧美激情按摩在线|