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

斜樹(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久久精品国产91久久性色tv| 欧美三级在线视频| 美女精品自拍一二三四| 午夜电影亚洲| 免费成人美女女| 亚洲午夜影视影院在线观看| 国产亚洲人成网站在线观看| 免费在线日韩av| 亚洲欧美国产va在线影院| 欧美激情视频免费观看| 亚洲欧美在线x视频| 亚洲精品国产精品国自产观看| 国产精品乱人伦中文| 美女黄网久久| 久久九九全国免费精品观看| 亚洲精品美女在线观看播放| 亚洲欧美另类在线观看| 91久久久久久国产精品| 国产精品推荐精品| 欧美日本一区| 欧美阿v一级看视频| 欧美在线观看天堂一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了 | 久久久久久久久久久一区| 亚洲激情欧美| 久久久精品网| 欧美一区二区三区久久精品| 亚洲午夜av电影| 亚洲国产经典视频| 在线成人激情| 在线精品一区| …久久精品99久久香蕉国产| 99av国产精品欲麻豆| 香蕉国产精品偷在线观看不卡| 亚洲福利视频一区| 亚洲一区中文字幕在线观看| 亚洲无玛一区| 亚洲激情电影在线| 欧美国产精品va在线观看| 欧美 日韩 国产精品免费观看| 欧美日韩一二三区| 亚洲激情网站免费观看| 一本色道久久综合亚洲精品高清 | 日韩一区二区高清| 亚洲一区二区三区久久| 在线一区欧美| 欧美电影在线免费观看网站| 亚洲欧美激情四射在线日 | 一二三四社区欧美黄| 一本色道久久综合精品竹菊| 99re亚洲国产精品| 久久久精品国产一区二区三区| 麻豆久久婷婷| 欧美大胆a视频| 亚洲性视频h| 亚洲精品国产欧美| 国产裸体写真av一区二区| 久久久久久久久久久一区| 亚洲精品一区二区三| 99亚洲一区二区| 国产一区在线播放| 欧美精品一级| 欧美高清视频在线| 99精品视频免费| 激情五月***国产精品| 老司机午夜精品视频在线观看| 亚洲激情六月丁香| 久久夜色精品国产噜噜av| 国产欧美日韩麻豆91| 久热这里只精品99re8久| 午夜精品久久久久久99热| 久久精品二区亚洲w码| 亚洲欧美视频一区二区三区| 亚洲一区二区免费看| 国产一区香蕉久久| 欧美精品久久久久久久免费观看| 午夜亚洲性色视频| 亚洲欧美区自拍先锋| 亚洲欧美综合一区| 欧美日韩妖精视频| 国产精品丝袜白浆摸在线| 韩国精品在线观看| 亚洲精品男同| 久久久精品动漫| 亚洲一区二区三区免费视频| 久久国产福利| 国产精品久久看| 在线视频欧美一区| 嫩模写真一区二区三区三州| 久久综合久久综合久久综合| 女女同性女同一区二区三区91| 一本色道久久综合亚洲精品小说| 欧美视频一区二区三区…| 亚洲夜间福利| 久久免费国产| 欧美激情一区二区三区不卡| 99国产精品99久久久久久| 欧美一区二区免费视频| 亚洲综合欧美日韩| 欧美韩国日本综合| 欧美一级专区| 欧美视频二区| 伊人精品成人久久综合软件| 日韩亚洲国产精品| 国产欧美在线看| 亚洲黄色免费电影| 久久国产精品久久久久久电车| 亚洲电影观看| 久久精品免视看| 国产精品红桃| 日韩一级大片| 亚洲一区二区成人在线观看| 免费成人在线视频网站| 亚洲人成网站色ww在线| 麻豆精品视频在线观看| 欧美日韩的一区二区| 在线一区二区三区做爰视频网站| 国产精品丝袜91| 日韩一级成人av| 夜夜嗨av一区二区三区网页| 亚洲一区二区精品在线| 欧美日韩中字| 久久久99精品免费观看不卡| 久热国产精品视频| 国产精品一区二区久久精品| 国产欧美日韩在线播放| 欧美在线不卡| 亚洲人成在线免费观看| 在线观看成人av| 欧美一区二区三区婷婷月色| 午夜精品一区二区三区在线视 | 久久久噜噜噜久久中文字免| 久久aⅴ乱码一区二区三区| 一区二区三区四区五区在线| 久久久久国产精品一区| 99国产精品久久久久久久成人热| 亚洲高清在线观看一区| 国产精品久久久久久久第一福利| 欧美.日韩.国产.一区.二区| 美女啪啪无遮挡免费久久网站| 免费不卡在线观看| 国产精品久久久久影院色老大| 免播放器亚洲一区| 欧美乱妇高清无乱码| 亚洲第一久久影院| 国产色综合天天综合网| 性欧美1819性猛交| 一本色道久久综合一区| 欧美日韩伦理在线免费| 亚洲国产成人tv| 99精品国产在热久久| 欧美黄色aaaa| 亚洲欧洲日韩综合二区| 亚洲一区二区黄| 国产美女一区| 亚洲日韩欧美一区二区在线| 亚洲黄网站在线观看| 欧美主播一区二区三区| 欧美精品三级日韩久久| 午夜久久久久| 久久人人97超碰精品888| 国产精品久久久久久久久果冻传媒 | 欧美在线看片| 国产一区二区三区四区在线观看| 久久精品国产久精国产爱| 欧美电影免费网站| 欧美成人亚洲成人| 欧美大胆成人| 亚洲精品国产精品国自产观看浪潮| 欧美在线观看www| 国产精品欧美久久| 黄色成人91| 国产女人精品视频| 国产亚洲视频在线| 亚洲精品国精品久久99热| 香蕉成人久久| 亚洲图色在线| av成人免费在线| 亚洲国产日韩在线| 亚洲高清不卡一区| 久久久一本精品99久久精品66| 一区二区三区蜜桃网| 久久久久国产一区二区| 久久久91精品| 久久深夜福利免费观看| 在线精品亚洲一区二区| 91久久夜色精品国产九色| 99re热精品| 欧美aa国产视频| 久久久亚洲综合| 国产欧美一区二区视频| 亚洲欧美成人网| 亚洲欧洲精品天堂一级| 亚洲欧美久久久久一区二区三区| 亚洲午夜视频在线观看|