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

網(wǎng)絡(luò)服務(wù)器軟件開發(fā)/中間件開發(fā),關(guān)注ACE/ICE/boost

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks

#

       1.新建查詢語(yǔ)句文件query.sql,內(nèi)容如下:
--------------------------------------分割線----------------------------------------
         use appdb;
         set names utf8;
         select FeedID, City , Message  from Feed limit 1000;
--------------------------------------分割線----------------------------------------
上面的set names utf8語(yǔ)句是設(shè)施當(dāng)前使用的編碼,如果編碼和數(shù)據(jù)庫(kù)的編碼不一致,會(huì)出現(xiàn)亂碼
      2.執(zhí)行如下:
     [root@proxy tianqg]# mysql -uroot -p < query.sql > query.txt
回車,輸入密碼,在當(dāng)前目錄下會(huì)產(chǎn)生查詢結(jié)果文件query.txt
      這些語(yǔ)句以前都是非常熟悉的,昨天有人問(wèn)起,一時(shí)沒(méi)有給出準(zhǔn)確的回答,命令行操作這種東西是容易忘記的,還是記下來(lái)備忘吧
posted @ 2011-01-19 09:55 true 閱讀(1434) | 評(píng)論 (0)編輯 收藏

      有個(gè)存儲(chǔ)過(guò)程,功能是:根據(jù)用戶名查詢非好友的ID,代碼如下:
begin

  select UserID  from  Users
    where
    UserID 
!= pUserID and
    Users.UserID  not 
in
    (
        select FriendID from Users_Friend where Users_Friend.UserID 
= pUserID and DeleteFlag = 0
    )
    and
    Users.Name like BINARY  concat(
'%',pUserName,'%')  ;

end
 其中,pUserID是搜索者的UID,pUserName是要搜索的用戶名。今天發(fā)現(xiàn)這個(gè)存儲(chǔ)過(guò)程非常慢,分析結(jié)論是:not in 后面的select子查詢是每次都執(zhí)行的,這出乎意料!mysql難道不能優(yōu)化掉這樣的查詢嗎?
      后來(lái)用了臨時(shí)表的方案,如下:
begin

    Create TEMPORARY  Table  IF NOT EXISTS temp(FriendID 
int );
    insert into temp(FriendID) select FriendID from Users_Friend where Users_Friend.UserID 
= pUserID and DeleteFlag = 0;

      select UserID  from  Users
    where
    UserID 
!= pUserID and
    Users.UserID  not 
in
    (
        select FriendID from temp
    )
    and
    Users.Name like BINARY  concat(
'%',pUserName,'%')  ;

    drop TEMPORARY  table temp;
end

問(wèn)題較好的解決了,因?yàn)榕R時(shí)表temp中保存的都是好友的ID,非??欤挥妹看味既?zhí)行好友的篩選邏輯。另外一種方式是:將好友ID作為參數(shù)傳遞到存儲(chǔ)過(guò)程中,在程序外面查詢好友,但要改動(dòng)程序。
 
posted @ 2011-01-13 13:05 true 閱讀(2976) | 評(píng)論 (0)編輯 收藏

     摘要: 最近幾天一直在思考一個(gè)問(wèn)題:我們需要什么樣的網(wǎng)絡(luò)基礎(chǔ)開發(fā)包?libevent,asio,ace,還是自己封裝?Buffer類,內(nèi)存池  閱讀全文
posted @ 2011-01-13 00:51 true 閱讀(3219) | 評(píng)論 (16)編輯 收藏

已經(jīng)非常的陌生了,沒(méi)有網(wǎng)絡(luò)幾乎寫不了代碼了,準(zhǔn)備寫個(gè)自用的抓包工具,可以指定某個(gè)應(yīng)用來(lái)抓包,這樣抓到的包分析起來(lái)更具有針對(duì)性,常用工具wireshark雖然支持過(guò)濾規(guī)則,但是對(duì)走多協(xié)議的應(yīng)用,比如tcp,udp,http都用的應(yīng)用過(guò)濾起來(lái)比較吃力,WPE也不太合適,我想集成一些實(shí)用小工具,如網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換,UTF8和GB的轉(zhuǎn)換等,如此則可以快速分析協(xié)議,所以索性自己寫個(gè)吧,網(wǎng)絡(luò)抓包這塊是做服務(wù)器的基本功,已經(jīng)搞定了,界面的布局和實(shí)現(xiàn)方面還沒(méi)有確定,不用MFC好多年,希望這次嘗試算是一個(gè)新的開始。

posted @ 2011-01-06 23:42 true 閱讀(570) | 評(píng)論 (0)編輯 收藏

     自從做公司的SNS社區(qū)以來(lái),寫了不少的C#代碼,與C++相比,C#是易于使用的,開發(fā)效率提高很多倍,其中印象比較深刻的是,在一個(gè)C#工程中,可以通過(guò)向?qū)砑优渲梦募?,默認(rèn)文件名為App.Config,是XML格式,一般內(nèi)容為:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
     
    
<appSettings>

        
<add key="Ip" value="localhost"/>
        
<add key="Port" value="8888"/>
        
<add key="ServiceName" value="Indexer"/>


    
</appSettings>
    
</configuration>
通過(guò)在appSettings里面添加add元素,即可實(shí)現(xiàn)通常的配置功能,更重要的是,可以進(jìn)一步擴(kuò)展為多級(jí)的樹形結(jié)構(gòu),與Ini格式相比,更直觀,可讀性更強(qiáng),下面是基于CMarkup(http://www.firstobject.com/)的一個(gè)簡(jiǎn)單實(shí)現(xiàn):
頭文件如下:
#pragma once

#include 
<string>
#include 
<map>


class AppConfig
{
public:
    AppConfig(
void);
    
~AppConfig(void);

    
int        GetInt(std::string key);
    std::
string    GetString(std::string key);
private:
    std::map
<std::string,std::string> config_map_;
}
;
 
extern AppConfig appConfig;
源文件如下:

#include 
"AppConfig.h"
#include 
"Markup.h"

AppConfig appConfig;


AppConfig::AppConfig(
void)
{
    CMarkup parser;
    
if (!parser.Load( "App.Config"  ))
    
{
        
return;        
    }

    
if (parser.FindChildElem("appSettings"))
    
{
        parser.IntoElem();
        
while (parser.FindChildElem("add"))
        
{
            std::
string key = parser.GetChildAttrib("key");
            std::
string value = parser.GetChildAttrib("value");
            config_map_[key] 
= value;
        }

        parser.OutOfElem();
    }

    
}


AppConfig::
~AppConfig(void)
{
}


int AppConfig::GetInt( std::string key )
{
    
if (config_map_.find(key) != config_map_.end())
    
{
        
return atoi(config_map_[key].c_str());
    }

    
else
    
{
        
return 0;
    }

}


std::
string AppConfig::GetString( std::string key )
{
    
if (config_map_.find(key) != config_map_.end())
    
{
        
return config_map_[key];
    }

    
else
    
{
        
return "";
    }

}

測(cè)試代碼為:
// MarkupTest.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
//

#include 
"stdafx.h"

#include 
"AppConfig.h"
#include 
<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{    
    cout 
<< appConfig.GetString("Ip")  << "-----" << appConfig.GetInt("Port")  << "----" << appConfig.GetString("ServiceName"<< endl;
    
return 0;
}


posted @ 2010-12-29 00:25 true 閱讀(2594) | 評(píng)論 (0)編輯 收藏

         CDR可以提供對(duì)基本數(shù)據(jù)類型如int,short,double,string等的序列化機(jī)制,簡(jiǎn)單包裝后即可擔(dān)當(dāng)RPC中的序列化角色。
#include <iostream>
#include 
<string>
#include 
<ace/OS.h>
#include 
<ace/String_Base.h>
#include 
<ace/CDR_Stream.h>
using namespace std;
#pragma comment(lib,
"aced")

int main(int argc, char* argv[])
{
    cout 
<< "ACE CDR demo" << endl;

    ACE_CString sAppName 
= "CDRDemo",sAppName2;
    ACE_CDR::Long nUID 
= 123456,nUID2;
    ACE_CDR::Float nfPosX 
= 120.51,nfPosX2;
    ACE_CDR::Double ndScore 
= 120.51,ndScore2;
    ACE_CString sDummy 
= "another string",sDummy2;
    ACE_CDR::Short  nsLength 
= 10,nsLength2;

    ACE_OutputCDR outCDR(ACE_DEFAULT_CDR_BUFSIZE);    
    
    outCDR 
<< nUID;
    outCDR 
<< nfPosX;
    outCDR 
<< ndScore;
    outCDR 
<< sAppName;//寫字符串時(shí),先寫入字符串的長(zhǎng)度
    outCDR << sDummy;
    outCDR 
<< nsLength;

    cout 
<< "OutputCDR size = " << outCDR.length() << endl;

    
//可以通過(guò)socket發(fā)送出去,而在服務(wù)端進(jìn)行下面的解析
    
//1.ACE_Message_Block *ACE_OutputCDR::begin (void)
    
//2.通過(guò)ACE_SOCK_Stream發(fā)送出去    

    ACE_InputCDR inCDR(outCDR);

    inCDR 
>> nUID2;
    inCDR 
>> nfPosX2;
    inCDR 
>> ndScore2;
    inCDR 
>> sAppName2;
    inCDR 
>> sDummy2;
    inCDR 
>> nsLength2;
        

    ACE_ASSERT(nUID 
== nUID2);
    ACE_ASSERT(nfPosX 
== nfPosX2);
    ACE_ASSERT(ndScore 
== ndScore2);
    ACE_ASSERT(sAppName 
== sAppName2);
    ACE_ASSERT(sDummy 
== sDummy2);
    ACE_ASSERT(nsLength 
== nsLength2);

    cout 
<< "test ok." << endl;

    
return 0;
}

假若有如下的demo.idl,內(nèi)容如下:

      struct user_info
      {
            int user_id;
            string user_name;            
      }
利用idl_gen生成代碼時(shí):
      (1)如果是侵入式的方案,則生成user_info類時(shí),自動(dòng)添加成員OutputCDR和InputCDR成員,并添加pack(ACE_Message_Block &* msg)和parse(ACE_Message_Block * msg)成員函數(shù),在pack和parse里面,調(diào)到對(duì)于的CDR類,按照類中數(shù)據(jù)成員的聲明順序依次序列化,反序列化
      (2)如果是非侵入式方案,則生成user_info類時(shí),生成獨(dú)立函數(shù)的pack(user_info& info, ACE_Message_Block &* msg)和parse(user_info& info,ACE_Message_Block * msg),pack和parse的函數(shù)實(shí)現(xiàn)同上
posted @ 2010-12-26 09:52 true 閱讀(3272) | 評(píng)論 (2)編輯 收藏

      wireshark(http://www.wireshark.org/)是我經(jīng)常用到的抓包工具,這對(duì)于網(wǎng)絡(luò)程序的調(diào)試至關(guān)重要,特別是客戶端人員和服務(wù)端人員都認(rèn)為自己的代碼沒(méi)問(wèn)題時(shí),wireshark本身是開源的,在windows平臺(tái)下基于 winpcap(http://www.winpcap.org/)開發(fā)的,安裝wireshark的時(shí)候,會(huì)提示在線安裝winpcap,今天在筆記本上用VS2008,編譯了Examples-pcap下面的basic_dump和basic_dump_ex,不曾想到的是抓不到包,甚是奇怪,因?yàn)橛脀ireshark抓包是可以的,因此懷疑是不是哪個(gè)參數(shù)設(shè)施不對(duì),終于比對(duì)wireshark,得出結(jié)論:將pcap_open_live的第四個(gè)參數(shù)設(shè)為0,即不能打開混雜模式,

if ((adhandle= pcap_open_live(d->name, // name of the device
        65536,   // portion of the packet to capture.
           // 65536 grants that the whole packet will be captured on all the MACs.
        0,    // promiscuous mode (nonzero means promiscuous)
        1000,   // read timeout
        errbuf   // error buffer
        )) == NULL)
 {
  fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
  /* Free the device list */
  pcap_freealldevs(alldevs);
  return -1;
 }
posted @ 2010-12-22 21:59 true 閱讀(4375) | 評(píng)論 (3)編輯 收藏

   手冊(cè)上的說(shuō)明:
   

   UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)

If called with no argument, returns a Unix timestamp (seconds since '1970-01-01 00:00:00' UTC) as an unsigned integer. If UNIX_TIMESTAMP() is called with a date argument, it returns the value of the argument as seconds since '1970-01-01 00:00:00' UTC. date may be a DATE string, a DATETIME string, a TIMESTAMP, or a number in the format YYMMDD or YYYYMMDD. The server interprets date as a value in the current time zone and converts it to an internal value in UTC. Clients can set their time zone as described in Section 5.11.8, “MySQL Server Time Zone Support”.


      這里的UNIX_TIMESTAMP()的返回值和C函數(shù)time(NULL)的返回值含義一樣,
  mysql> select UNIX_TIMESTAMP();
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
|       1292815556 |
+------------------+
1 row in set

mysql> select FROM_UNIXTIME(1292815556);
+---------------------------+
| FROM_UNIXTIME(1292815556) |
+---------------------------+
| 2010-12-20 11:25:56       |
+---------------------------+
1 row in set

posted @ 2010-12-20 12:01 true 閱讀(505) | 評(píng)論 (0)編輯 收藏


終于碰到這個(gè)問(wèn)題了,原文鏈接:http://hi.baidu.com/zzy_cqok/blog/item/46ee33998777f3056f068c2b.html

vs2008調(diào)試后控制臺(tái)窗口關(guān)不了2010-07-29 16:19
最近用Visual Studio 2008 寫一些控制臺(tái)程序,調(diào)試后的時(shí)候,當(dāng)走到完成的時(shí)候,這個(gè)控制臺(tái)程序的窗口就關(guān)不了了。再調(diào)試的時(shí)候就會(huì)出現(xiàn)一個(gè)新的控制臺(tái)程序。
在任務(wù)管理器還可以看到這個(gè)窗口,但是關(guān)不掉了。感覺(jué)這個(gè)控制臺(tái)程序已經(jīng)失控了。
雖然這個(gè)對(duì)電腦運(yùn)行沒(méi)有影響,但還是很不爽。而且最后關(guān)機(jī)還有問(wèn)題,導(dǎo)致不能關(guān)機(jī)。
找到一些相關(guān)的網(wǎng)頁(yè)也討論的,最后結(jié)論是windows的一個(gè)更新KB978037導(dǎo)致cress.exe出了一些問(wèn)題。
解決辦法:刪除KB978037更新,刪除的辦法是在控制面板的添加或刪除程序面板里,勾選顯示更新,找到KB978037更新,刪除。
附別人的討論記錄:http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/e6d4a4f5-7002-401a-90e1-6174d7f9e3ca/
 
posted @ 2010-12-12 13:16 true 閱讀(1134) | 評(píng)論 (0)編輯 收藏

http://www.boostpro.com/download/
目前只有windows平臺(tái)的,而且是32位
posted @ 2010-12-06 12:08 true 閱讀(460) | 評(píng)論 (0)編輯 收藏

僅列出標(biāo)題
共15頁(yè): 1 2 3 4 5 6 7 8 9 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美激情精品一区二区| 久久精品国产综合精品| 亚洲精品综合久久中文字幕| 欧美大胆a视频| 欧美不卡视频一区| 欧美成人精品三级在线观看| 欧美凹凸一区二区三区视频| 欧美黄色片免费观看| 欧美国产第二页| 亚洲风情亚aⅴ在线发布| 欧美电影免费观看| 亚洲国产日韩欧美一区二区三区| 欧美激情中文不卡| 亚洲毛片在线| 亚洲午夜视频在线| 欧美一区二区在线视频| 久久精品九九| 麻豆av一区二区三区久久| 快播亚洲色图| 欧美日韩伊人| 国产日本精品| 亚洲国产高清自拍| 中文有码久久| 久久电影一区| 男同欧美伦乱| 99热精品在线观看| 亚洲免费中文字幕| 久久久久久9999| 美女精品一区| 欧美视频网址| 伊人成年综合电影网| 日韩亚洲精品电影| 午夜精品一区二区三区四区| 久久久噜噜噜久久久| 亚洲电影在线观看| 一区二区三区精品视频| 欧美在线观看一区| 欧美电影在线观看完整版| 国产精品毛片大码女人| 国语自产在线不卡| 夜夜嗨网站十八久久| 午夜精品成人在线视频| 欧美国产高清| 亚洲砖区区免费| 免费在线亚洲| 国产精品拍天天在线| 亚洲经典视频在线观看| 午夜在线一区| 欧美成人免费网站| 亚洲一本大道在线| 美脚丝袜一区二区三区在线观看 | 亚洲欧美久久久| 麻豆久久婷婷| 一区二区三区四区五区视频| 久久人人97超碰精品888| 欧美日韩在线直播| 亚洲第一区中文99精品| 亚洲欧美99| 91久久精品www人人做人人爽| 亚洲一区尤物| 欧美高清不卡在线| 国产一在线精品一区在线观看| 亚洲美女区一区| 久久免费黄色| 亚洲主播在线观看| 欧美日本在线看| 亚洲高清不卡av| 久久黄色小说| 这里只有精品在线播放| 久久综合九色欧美综合狠狠| 国产欧美日韩一区二区三区在线| 亚洲免费高清视频| 鲁大师影院一区二区三区| 亚洲网在线观看| 欧美日韩国内| 亚洲精品视频二区| 美日韩精品视频| 欧美一级久久久久久久大片| 欧美性理论片在线观看片免费| 亚洲精品一区二区网址| 久久久亚洲午夜电影| 亚洲一区区二区| 国产精品国产亚洲精品看不卡15 | 亚洲美女在线观看| 久热综合在线亚洲精品| 国内外成人免费激情在线视频| 午夜精品久久久久久99热| 99伊人成综合| 欧美日韩岛国| 亚洲精品国产精品国自产观看| 免费看亚洲片| 久久人人看视频| 伊人久久大香线| 久久影院午夜论| 久久激情一区| 国内精品视频在线播放| 久久精品91久久久久久再现| 亚洲影院免费| 国产欧美日韩亚州综合| 欧美在线免费一级片| 亚洲欧美激情一区二区| 国产精品久久久久av| 亚洲欧美日韩区 | 欧美日韩亚洲精品内裤| 亚洲九九九在线观看| 欧美激情一区在线| 欧美激情五月| 亚洲视频在线免费观看| 一区二区三区国产精华| 国产精品视频yy9099| 欧美一区二区三区日韩视频| 午夜精品视频| 韩国三级电影久久久久久| 久久综合色播五月| 久热精品视频在线观看| 亚洲日本中文字幕| 亚洲美洲欧洲综合国产一区| 欧美香蕉视频| 欧美一区日韩一区| 欧美在线www| 亚洲丶国产丶欧美一区二区三区| 欧美高清不卡在线| 欧美成人一品| 亚洲影院在线| 欧美一级黄色网| 亚洲经典自拍| 国产精品99久久久久久白浆小说| 国产伦精品一区二区三| 久久在线精品| 欧美激情小视频| 亚洲欧美精品一区| 久久久国产一区二区三区| 亚洲欧洲在线看| 在线一区二区三区四区| 国内视频精品| 亚洲精品国精品久久99热| 国产精品免费小视频| 久久综合久久88| 欧美日韩99| 久久久99久久精品女同性| 老鸭窝亚洲一区二区三区| 一本高清dvd不卡在线观看| 午夜精品国产更新| 亚洲国产福利在线| 一本综合久久| 在线观看不卡av| 日韩亚洲欧美精品| 国模精品一区二区三区| 亚洲精品免费电影| 国产日韩av在线播放| 亚洲大胆av| 国产日韩欧美综合精品| 亚洲人成77777在线观看网| 国产精品毛片a∨一区二区三区| 免费观看不卡av| 欧美日韩在线播放三区四区| 久久五月天婷婷| 欧美日韩视频| 免费成人毛片| 国产精品午夜电影| 亚洲高清视频在线| 国产香蕉97碰碰久久人人| 亚洲激情成人网| 国产综合婷婷| 亚洲香蕉在线观看| 亚洲观看高清完整版在线观看| 亚洲视频免费在线| 亚洲精品韩国| 久久精品国产清高在天天线| 一区二区久久| 免费亚洲电影| 久久人人爽国产| 欧美亚一区二区| 亚洲福利视频网| 韩国av一区二区三区四区| 一本到高清视频免费精品| 亚洲国产精品一区制服丝袜 | 欧美一区二区三区在线免费观看| 一区二区欧美日韩| 久久这里有精品15一区二区三区| 亚洲欧美一区二区三区极速播放 | 久久精品国产一区二区电影 | 国产精品视频xxxx| 亚洲人成人77777线观看| 黄色日韩网站| 午夜一区二区三区不卡视频| 亚洲一区www| 欧美伦理视频网站| 亚洲国产精品成人| 亚洲国内在线| 美女诱惑一区| 免费欧美日韩| 伊人精品在线| 久久青草福利网站| 另类图片国产| 在线欧美视频| 久久人人爽国产| 免费久久久一本精品久久区| 国产一区在线看| 久久精品国产69国产精品亚洲 |