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

斜樹(shù)的空間

集中精力,放棄一切的去做一件事情,只要盡力了,即使失敗了,你也不會(huì)后悔!

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

#

使用協(xié)議UDP,僅實(shí)現(xiàn)簡(jiǎn)單的連接功能:

服務(wù)端:
#pragma   comment(lib,   "ws2_32.lib ")

#include <winsock2.h>
#include <stdio.h>

int main()
{
 SOCKET socket1;
 WSADATA wsaData;


 int iErrorcode;
 if(WSAStartup(MAKEWORD(2,2), &wsaData))
 {
  printf("Winsock can not be init!");
  WSACleanup();
  return 0;
 }

 printf("server begin to create socket!\n");
 //struct sockaddr_in local;
 //struct sockaddr_in from;
 sockaddr_in local;
 sockaddr_in from;

 int fromlen = sizeof(from);

 local.sin_addr.s_addr = INADDR_ANY;
 local.sin_family =  AF_INET;
 local.sin_port = htons(5566);

 socket1 = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
 bind(socket1, (struct sockaddr *)&local, fromlen);
 
 while(1)
 {
  char buffer[1024] = "\0";

  printf("waiting message form client:");

  if(SOCKET_ERROR != recvfrom(socket1,
   buffer, sizeof(buffer), 0,
   (struct sockaddr *)&from, &fromlen))
  {
   if(strcmp(buffer, "bye") == 0)
   {
    printf("client quit!\n");
    break;
   }
   printf("recieve message form %s -- %s \n",
    inet_ntoa(from.sin_addr), buffer);
   sendto(socket1, buffer, sizeof(buffer),
    0, (struct sockaddr *)&from, fromlen);
  }
  
 }
 closesocket(socket1);

 return 0;
}

客戶端:
#pragma   comment(lib,   "ws2_32.lib ")

#include <winsock2.h>
#include <stdio.h>

int main()
{
 SOCKET socket1;
 WSADATA wsaData;

 if(WSAStartup(MAKEWORD(2,2), &wsaData))
 {
  printf("can not init !\n");
  WSACleanup();
  return 0;
 }
 
 printf("client begin to create socket!\n");
 struct sockaddr_in server;
 int len = sizeof(server);

 server.sin_addr.s_addr = inet_addr("127.0.0.1");
 server.sin_port = htons(5566);
 server.sin_family = AF_INET;

 socket1 = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP );
 
 while(1)
 {
  char buffer[1024] = "\0";
  printf("input message: ");
  scanf("%s", buffer);
  if(strcmp(buffer, "bye") == 0)
  {
   sendto(socket1, "bye", 3 * sizeof(char), 0,
    (struct sockaddr *)&server, len);
   printf("exit!\n");
   Sleep(100);
   closesocket(socket1);
   break;
  }
  
  if(SOCKET_ERROR != sendto(socket1, buffer, sizeof(buffer),
   0, (sockaddr *)&server, len))
  {
   Sleep(100);
   if(recvfrom(socket1, buffer, sizeof(buffer), 0, (struct sockaddr *)&server, &len) != SOCKET_ERROR)
   {
    printf("recieve from server : %s \n", buffer);
   }
  }
  
 }
 closesocket(socket1);

 return 0;
}

posted @ 2010-05-15 21:12 張貴川 閱讀(683) | 評(píng)論 (0)編輯 收藏

今早配置MYSQL,在WIN7中配置了一個(gè)早上,老是報(bào)1045的錯(cuò)誤,說(shuō)是MYSQL在WINDOWS中一直存在的錯(cuò)誤,查了N多資料也不行,又不想重裝。
看到一個(gè)解釋是這樣的:

該錯(cuò)誤只在Windows系統(tǒng)上出現(xiàn),Linux下好像好沒(méi)有,據(jù)說(shuō)這個(gè)錯(cuò)誤已經(jīng)存在n年了,有人extremely dispointedin  that it still exists here 2009!

錯(cuò)誤的原因更令人抓狂,那就是mysql server instance config wizard根本沒(méi)有為你設(shè)密碼,于是root密碼是空!實(shí)在不明白如果沒(méi)有為我設(shè)密碼那中間為什么叫我設(shè)個(gè)密碼。


但他的方法我試了也沒(méi)用。
問(wèn)題還真的是千奇百怪。
最后沒(méi)辦法點(diǎn)開(kāi)instance config wizard 從頭來(lái)一遍,先把原來(lái)的配置卸載了,然后重新配置。最后竟然不報(bào)1045的錯(cuò)誤了。網(wǎng)上很多都說(shuō)要重裝才能解決問(wèn)題,我看這方法和重裝沒(méi)啥區(qū)別,但比重裝省時(shí)間。
真的是暈,看來(lái)要深入了解MYSQL的結(jié)構(gòu)才能解釋為什么了,初玩姑且就算一種解決1045方法吧!

posted @ 2010-05-08 10:56 張貴川 閱讀(119) | 評(píng)論 (0)編輯 收藏

在  項(xiàng)目------添加類(lèi)-----mfc------active x控件的MFC類(lèi)----
后面自己就知道怎么做了

posted @ 2010-05-04 19:06 張貴川 閱讀(1326) | 評(píng)論 (0)編輯 收藏

   全局變量的定義:
在MFC的框架中有個(gè)全局變量:
CTestApp theApp;
theApp是在進(jìn)入WinMain函數(shù)之前就構(gòu)造好值的。
所以可以進(jìn)入WinMain函數(shù)之前是先執(zhí)行theApp的構(gòu)造函數(shù)。
孫鑫老師說(shuō)MFC是通過(guò)應(yīng)用程序類(lèi)的對(duì)象來(lái)標(biāo)識(shí)應(yīng)用程序的實(shí)例的(這句話不明白,應(yīng)該都是hInstance標(biāo)識(shí)的吧,也許要等到我看侯捷老師書(shū)的時(shí)候才知道了),且每個(gè)MFC程序有且僅有一個(gè)從CWinApp派生的類(lèi)。也僅有一個(gè)CWinApp派生類(lèi)的對(duì)象,即僅有一個(gè)theApp對(duì)象。theApp對(duì)象就標(biāo)識(shí)了應(yīng)用程序本身。
即theApp是統(tǒng)領(lǐng)其它類(lèi)的。
并且CWinApp類(lèi)是派生于CWinThread類(lèi)的,
There are two general types of threads that CWinThread supports: worker threads and user-interface threads. Worker threads have no message pump: for example, a thread that performs background calculations in a spreadsheet application. User-interface threads have a message pump and process messages received from the system. CWinApp and classes derived from it are examples of user-interface threads. Other user-interface threads can also be derived directly from CWinThread.

MSDN中還提供了一些額外的操作全局信息的函數(shù):

  • AfxGetApp   Obtains a pointer to the CWinApp object.

  • AfxGetInstanceHandle   Obtains a handle to the current application instance.

  • AfxGetResourceHandle   Obtains a handle to the application's resources.

  • AfxGetAppName   Obtains a pointer to a string containing the application's name. Alternately, if you have a pointer to the CWinApp object, use m_pszExeName to get the application's name.

    看看MFC中的 main()函數(shù):
    extern "C" int WINAPI
    _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
     _In_ LPTSTR lpCmdLine, int nCmdShow)
    #pragma warning(suppress: 4985)
    {
     // call shared/exported WinMain
     return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
    }

  • posted @ 2010-05-01 20:59 張貴川 閱讀(435) | 評(píng)論 (1)編輯 收藏

    晚上搞了半天才發(fā)現(xiàn):原來(lái)類(lèi)模板不能分文件寫(xiě)!
    如:
    template <class Type>
    class TNumber
    {
    public:
     ~TNumber()
     {
     }

     void SetItem(Type);
     Type GetItem();
    private:
     Type m_item;
    };

    寫(xiě)到casual.h中f。而實(shí)現(xiàn)文件寫(xiě)入casual.cpp中,那么在main文件中調(diào)用時(shí)就會(huì)提示外部命令無(wú)法解析的錯(cuò)誤。
    如:
    1>main.obj : error LNK2019: 無(wú)法解析的外部符號(hào) "public: int __thiscall TNumber<int>::GetItem(void)" (?GetItem@?$TNumber@H@@QAEHXZ),該符號(hào)在函數(shù) _main 中被引用

    看到一個(gè)解釋是:
    因?yàn)槟0孱?lèi)在編譯的時(shí)候就相當(dāng)于宏定義,分兩個(gè)文件是找不到的。

    解決辦法可以:
    1.類(lèi)模板定義和實(shí)現(xiàn)在同一文件。
    2.在main文件中連續(xù)包含定義文件和實(shí)現(xiàn)文件.
    #include "casual.h"
    #include "casual.cpp"

    int main()
    {

     TNumber<int> obj1;

     cout << obj1.GetItem() << endl;

       return 0;
    }

    posted @ 2010-04-22 01:01 張貴川 閱讀(2776) | 評(píng)論 (7)編輯 收藏

    先解釋const 的記憶問(wèn)題:
    比如: 
    type  const * p;  
     * p 是表示對(duì)象, const 修飾 *p ,  就表示常對(duì)象。即 *p  對(duì)象不可改變。 所以  p  不是 常指針,是指向常量的指針。
    相對(duì)于:const type * const * p; 的寫(xiě)法,個(gè)人推薦前一種。

    而:
    type  * const p;
    const 修飾 p, 所以 p  是常量,而* const p 即代表指針常量.   p 是常指針。


    所以
     int * & func(C &oC)
     {
      return oC.m_p;
     }
    表示返回指針的引用

    但沒(méi)有:
     int & * func(C &oC)
     {
      return oC.m_p;
     }

    編譯器會(huì)把 int & *  中的 & 看作取地址符號(hào)。
    如果要對(duì)  int  型變量進(jìn)行應(yīng)用,為沒(méi)必要這樣
    可以這樣寫(xiě):
     int  & func(C &oC)
     {
      return  *oC.m_p;
     }

    同樣記憶:
    常引用對(duì)象: type const & Ref ;
    還要注意const 修飾函數(shù)只能是  類(lèi)成員函數(shù),而不能是全局函數(shù)

    posted @ 2010-04-16 20:49 張貴川 閱讀(265) | 評(píng)論 (0)編輯 收藏

    class CBase
    {
    public:
     CBase(int iNum) : m_iNumber(iNum)
     {

     }
     CBase(CBase & oBase)
     {
      
     }
    protected:
     int m_iNumber;
    };
    class B : public CBase
    {
    public:
     B(int iNum, int iNum2) : CBase(iNum), m_iNumber2(iNum2)
     {
     }
     
     B(B & oB) : CBase(oB.m_iNumber)
     {
      m_iNumber2 = oB.m_iNumber2;
     }

     void show()
     {
      cout << m_iNumber <<  "  " << m_iNumber2 << endl;
     }

    private:
     int m_iNumber2;
    };

    如果沒(méi)有 B中的 拷貝構(gòu)造函數(shù)   B(B & oB) : CBase(oB.m_iNumber) 后面的初始化CBase(oB.m_iNumber)則會(huì)報(bào)這樣的錯(cuò)誤:
     error C2512: “CBase”: 沒(méi)有合適的默認(rèn)構(gòu)造函數(shù)可用

    當(dāng)然以下這樣初始化更符合 都是  拷貝構(gòu)造函數(shù)的邏輯:
    B(B & oB) : CBase(&oB) 


    posted @ 2010-04-16 20:08 張貴川 閱讀(1387) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共5頁(yè): 1 2 3 4 5 
    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品无人区| 欧美伊久线香蕉线新在线| 在线综合亚洲| 免费91麻豆精品国产自产在线观看| 久久国产精品99久久久久久老狼| 国产午夜精品一区二区三区视频| 久久精品一区二区三区四区| 久久综合婷婷| 亚洲美女性视频| 欧美视频专区一二在线观看| 亚洲免费视频网站| 亚洲第一精品夜夜躁人人躁| 国产一区自拍视频| 猛男gaygay欧美视频| 欧美一级黄色网| 最新日韩精品| 久久精品免费观看| 亚洲网站啪啪| 国产精品xnxxcom| 久久成人一区| 一本色道久久综合狠狠躁篇怎么玩| 久久精品一二三区| 亚洲天堂男人| 欧美一区在线直播| 亚洲高清色综合| 一区二区高清| 久久精品国产免费观看| 亚洲久色影视| 欧美一区二区三区的| 99av国产精品欲麻豆| 伊人男人综合视频网| 日韩亚洲精品在线| 亚洲美女毛片| 国产精品久久久久久久久久久久 | 国产精品va在线播放| 免费在线欧美黄色| 国产亚洲观看| 欧美激情一区二区三区| 欧美一区二区女人| 嫩草国产精品入口| 国产精品久久久久久超碰| 蜜桃久久精品一区二区| 亚洲欧美日韩成人| 这里只有视频精品| 欧美二区在线观看| 久久精品国产77777蜜臀| 久久影音先锋| 久久综合网络一区二区| 欧美福利电影网| 亚洲伊人第一页| 夜夜嗨av一区二区三区| 欧美va亚洲va国产综合| 欧美三区免费完整视频在线观看| 国产精品亚洲不卡a| 国产精品人人爽人人做我的可爱| 在线观看一区| 日韩亚洲欧美一区二区三区| 亚洲国产小视频| 国产精品伦一区| 亚洲男人第一av网站| 久久综合色综合88| 欧美高清你懂得| 欧美日韩精品福利| 欧美性事免费在线观看| 日韩视频中文| 亚洲国产裸拍裸体视频在线观看乱了| 开心色5月久久精品| 午夜久久影院| 久久综合狠狠| 国产精品一区二区久久久久| 狠狠入ady亚洲精品| 亚洲精品之草原avav久久| 国产亚洲午夜| 99国产精品自拍| 欧美一区在线视频| 亚洲天堂成人在线观看| 久久久久国产成人精品亚洲午夜| 免费人成网站在线观看欧美高清| 久久黄金**| 国内精品久久久久久久97牛牛| 亚洲女同在线| 亚洲一区二区动漫| 国产亚洲va综合人人澡精品| 久久人人97超碰人人澡爱香蕉| 国内精品久久久久久久影视蜜臀| 日韩视频在线观看一区二区| 欧美成人日本| 亚洲精品国精品久久99热一| 一区二区三区欧美在线观看| 欧美日韩亚洲高清一区二区| 韩日精品视频| 欧美三级午夜理伦三级中视频| 亚洲美女视频在线观看| 亚洲美女黄色片| 欧美女激情福利| 久久日韩精品| 久久成人免费网| 亚洲激情欧美| 国产日韩欧美三区| 欧美大片91| 欧美激情一区二区三区在线视频 | 久久成人免费日本黄色| 久久精品国产精品亚洲综合| 中文国产成人精品久久一| 校园春色综合网| 99热在这里有精品免费| 亚洲精品一区二区在线观看| 亚洲日韩欧美视频一区| 国产精品一页| 亚洲精品视频免费观看| 国内精品美女av在线播放| 亚洲精品之草原avav久久| 一区国产精品| 欧美成人精品在线| 国产精品久久久久久久久免费桃花 | 亚洲黄色一区二区三区| 国产欧美一区二区白浆黑人| 亚洲欧美视频在线观看| 国产一区二区三区免费不卡| 欧美一区二区在线看| 久久国产夜色精品鲁鲁99| 亚洲特级毛片| 欧美电影电视剧在线观看| 久久久亚洲影院你懂的| 国产精品日韩一区二区三区| 亚洲毛片在线免费观看| 亚洲精品一区二区在线| 免费观看日韩av| 欧美成人一区二区| 精品不卡一区二区三区| 欧美亚洲一区| 久久久91精品国产一区二区三区 | 一区二区在线视频观看| 欧美一区二区精美| 久久国产黑丝| 国产一区二区成人| 亚洲男人影院| 午夜影院日韩| 久久久综合网站| 裸体歌舞表演一区二区| 国内精品国产成人| 欧美一区二区观看视频| 久久蜜桃香蕉精品一区二区三区| 国产日韩欧美| 久久人人97超碰国产公开结果 | 亚洲欧美日本日韩| 亚洲大胆在线| 久久久久久穴| 亚洲第一天堂无码专区| 亚洲剧情一区二区| 欧美日韩精品一区二区三区四区 | 99国内精品| 亚洲一区二区三区四区五区午夜 | 久久久久久久久蜜桃| 国内精品国产成人| 裸体丰满少妇做受久久99精品| 亚洲成色最大综合在线| 欧美激情精品久久久久| 亚洲国产日韩在线| 一区二区三区欧美亚洲| 国产精品免费aⅴ片在线观看| 亚洲免费在线| 老牛影视一区二区三区| 亚洲欧洲日本mm| 欧美在线一二三四区| 亚洲一二三四久久| 国产乱码精品一区二区三区五月婷| 亚洲欧美日韩国产成人| 欧美成人免费一级人片100| 妖精视频成人观看www| 欧美调教vk| 久久九九国产| 亚洲免费av观看| 久久精品论坛| 一区二区三区四区蜜桃| 国产日本欧美一区二区| 欧美国产免费| 欧美中文字幕久久| 永久域名在线精品| 欧美国产日韩一区二区在线观看| 欧美激情日韩| 国外成人在线| 欧美在线高清视频| 一区二区三区福利| 欧美日韩午夜精品| 亚洲影院色无极综合| 国产精品久久一区主播| 依依成人综合视频| 久久性色av| 欧美黑人一区二区三区| 一本久久综合亚洲鲁鲁五月天| 欧美久久久久免费| 欧美一区综合| 一区二区三区免费观看| 免费在线看成人av| 亚洲一区二区三区高清| 亚洲国产精品成人| 欧美一区二区三区视频免费播放| 欧美激情一区二区三区不卡| 在线电影欧美日韩一区二区私密|