• <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>
            隨筆 - 64, 文章 - 11, 評論 - 12, 引用 - 0
            數據加載中……

            2012-8 <中> 疑問

            20日
               用visual studio 10.0打開項目,第一次編譯項目,報出了“fatal error C1902: 程序數據庫管理器不匹配;請檢查安裝”的錯誤,但項目在上星期五都能編譯成功,
               現在沒有修改,卻編譯失敗。編譯其它語言的項目不受影響。
                  http://msdn.microsoft.com/zh-cn/library/8y7hea02.aspx是關于該問題的官方分析,于是我檢查相關的DLL文件,也都存在且版本一致。突然想起周五下午,
                  在使用vc10.0中的dumpbin時,提示少了mspdb100.dll文件,我就從Microsoft Visual Studio 10.0\Common7\IDE目錄中復制了該文件到
                  Microsoft Visual Studio 10.0\VC\bin中,把bin中的該文件刪除后,再編譯項目就成功了。

            23日
               程序每次隔幾分鐘去查詢服務器。響應時間都會更長,特別是數據量少時更是慢。
                  通過wireshark工具分析網絡包,發現發生這個情況時總是發生了重傳并出現了ARP請求應答包。于是試著清除ARP緩存,然后再查詢,情況一般都能復現。由此再
                  想到網絡協議ARP的介紹,得出結論是分片的IP包只有最后一包會由ARP應答處理,之前的都會被丟棄。數據量少時更明顯的原因是沒有3個以上重復的ACK來告訴
                  需要重傳,只有等待超時機制,而超時機制一般都需要200多ms,所以現象更明顯。

               ARP 緩存表的更新。
                   在注冊表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下有兩個鍵可用來控制緩存表的更新周期。
                  ArpCacheLife   REG_DWORD   0-0xFFFFFFFF(秒數,默認值為120秒):是指沒有引用過(也就是和對方沒有通信)的緩存項失效時間。
                  ArpCacheMinReferencedLife   REG_DWORD   0-0xFFFFFFFF(秒數,默認值為600):是指引用過(也就是和對方有網絡通信)的緩存項失效時間。

            24日
               程序在服務器上運行,點出關閉,遲遲不能退出。
                  用調試器附加進程,查看線程及各自的棧k,分析出有死循環。凍結其它線程~f,于循環判斷處下斷bp,查看相關存儲位置的值dd [ebp-38],更改其值ed [ebp-38]
                  查看寄存器eax的值reax,并重新賦值reax=1,從而讓程序完成退出時的邏輯。
             
            25日
               套接字模式分為兩種。
                  阻塞模式:在阻塞模式下,I/O操作完成前,執行操作的調用send,recv會一直等候下去,不會立即返回到程序。
                  非阻塞模式:在非阻塞模式下,調用send,recv等I/O操作時,操作會立即返回到程序。
               windows上套接字上的I/O模型共有6種。
                  阻塞模型:模型使用阻塞模式的套接字,收發線程上進行的都是阻塞調用。特點是簡單,缺點是不易擴展。
                  select模型:可以同時管理阻塞套按字和非阻塞套接字。
                  WSAAsyncSelect模型:可以綁定到窗口的消息上,只能用非阻塞套接字上。
                  WSAEventSelect模型:和一個事件句柄關聯,只能用非阻塞套接字上。
                  Overlapped I/O模型:可以和一個事件句柄或者一個完成回調方法關聯,只能用非阻塞套接字上。
                  完成端口模型:只能用非阻塞套接字上。

               在一個阻塞或者非阻塞套接字上投遞recv操作時,默認的選項的行為是只要有數據就會返回。如果要讓套接字收到指定的數據量后才返回,需要在recv調用中指定MSG_WAITALL
               標志。
            30日
               MFC對話框上的ENTER,ESC及右上角的關閉按鈕處理
                  在MFC對話框上按ENTER鍵
                     1:如果當前焦點是在一個按鈕上,相當于單擊該按鈕。
                     2:如果當前焦點是在其它類型的控件上時。
                        2.1:如果設置了DEFAULT BUTTON按鈕,就相當于單擊了該默認按鈕。
                        2.3:如果映射了IDOK消息號,將會調用該消息函數
                        2.2:如果沒有設置DEFAULT BUTTON按鈕,將會調用對話框類的OnOK函數。
                  在MFC對話框上按下了ESC鍵
                     1:如果映射了IDCANCEL消息號,將會調用該消息函數。
                     2:如果沒有映射IDCANCEL消息號,將會調用對話框類的OnCancel函數。
                  單擊對話框右上角的關閉按鈕
                     1:如果映射了對話框WM_CLOSE消息,將調用該處理函數OnClose(),基類的OnClose()函數將會調用OnCancel函數。
                     2:同在MFC對話框上按下了ESC鍵處理流程一樣。
               參照上述的流程就可以靈活處理對話框上這幾個消息,也有人通過重載基類的BOOL PreTranslateMessage(MSG* pMsg) 來處理
                  BOOL PreTranslateMessage(MSG* pMsg) 
                  {
                          // TODO: Add your specialized code here and/or call the base class
                          if   (pMsg-> message==WM_KEYDOWN) 
                          { 
                                  UINT   nkeyc=(UINT)(pMsg-> wParam); 
                                  if(nkeyc==VK_ESCAPE) 
                                          return TRUE; // 表示已經處理好了,不需再進行處理。
                          }

                          return CDialog::PreTranslateMessage(pMsg);
                  }



                  

            posted on 2012-08-20 09:22 Robertxiao 閱讀(264) 評論(0)  編輯 收藏 引用 所屬分類: 問題集錦

            蜜臀久久99精品久久久久久小说 | 色综合久久精品中文字幕首页| 伊人久久精品无码av一区| 久久亚洲欧洲国产综合| 狠狠色丁香久久婷婷综合图片| 久久久噜噜噜久久中文字幕色伊伊 | 久久久久久免费一区二区三区| 91精品国产乱码久久久久久| 蜜桃麻豆www久久| 久久毛片免费看一区二区三区| 伊人色综合久久天天人手人婷| 亚洲综合精品香蕉久久网97 | 久久99热这里只有精品国产| 久久久久人妻一区精品色| 久久成人精品| 久久久噜噜噜久久熟女AA片| 日韩久久无码免费毛片软件| 久久精品9988| 欧美黑人激情性久久| 亚洲国产精品无码久久九九| 国产精品久久久久久| 99久久无色码中文字幕人妻| 精品国产一区二区三区久久蜜臀| 亚洲欧美日韩久久精品第一区| 精品久久久久久久久久久久久久久 | 伊人久久大香线蕉av不卡| 国产高清国内精品福利99久久| 亚洲国产精品无码久久久秋霞2 | 国内精品久久久久影院老司| 一本一道久久精品综合| 久久无码人妻一区二区三区午夜| 日韩精品无码久久一区二区三| 91精品观看91久久久久久| 久久精品免费观看| 狠狠色丁香婷婷综合久久来| 久久人人爽爽爽人久久久| 精品久久久久久国产| 伊人久久无码中文字幕| 亚洲AV日韩AV天堂久久| 久久久无码人妻精品无码| 丰满少妇高潮惨叫久久久|