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

隨筆-341  評論-2670  文章-0  trackbacks-0
 
     摘要: 封裝Common Control Library 6.0的API越來越順手了。雖說要消滅BEGIN_MESSAGE_MAP之類的代碼,不過寫起來也不容易。BEGIN_MESSAGE_MAP不能動態替換,所以我換成了類似C#的Event和Delegate那樣子的東西。如果不需要動態替換的話,實際上并沒有什么區別,唯一的區別就在于你可以利用VC++的Intellisense去查看自己想要的事件,而不是將什么WM_LBUTTONDOWN之類的消息記住了。  閱讀全文
posted @ 2008-08-03 08:48 陳梓瀚(vczh) 閱讀(1989) | 評論 (8)編輯 收藏
     摘要: 為了緩解疲勞,我網絡和UI同時做。封裝UI真是麻煩啊,一大堆習慣的東西原來是沒有的,什么tab轉移焦點,什么控件對齊,都要自己做。后來就囧了,干脆實現一個Placement來自動調整控件的位置。  閱讀全文
posted @ 2008-08-03 04:54 陳梓瀚(vczh) 閱讀(1950) | 評論 (8)編輯 收藏
    開始設計一個對稱的通訊框架了。這個框架要求所有client的電腦上有一組host threads。host threads可以在另一個程序里面。有了host之后,client就可以跟遠程或者本機的程序通訊了。client可以做的事情有:與host連接與斷開,指定一個遠程的client并發送信息,通知host可以不必繼續維護到某client的連接,查詢某個ip和端口下面的所有client。每一次通訊的時候,client都必須給出ip\port\name來,而不是獲取一個連接然后使用。鑒于client和host未必在同一個程序上,獲得連接然后使用不是很好。

    因此就有了如下的設計。host通過socket與其他地方的host通訊,client與host通過named pipe聯系。client與client的信息通過兩個或更多的host傳遞。到了這里,就有必要指定一下協議了。

    首先是client-host。client-host發的消息的格式是:Type:BYTE , NameLen:BYTE , Name:CHAR[ ] , MsgLen:INT , Msg:CHAR[ ]。這5部分串在一起成為一個完整的消息通過named pipe傳遞。Type定義如下:

    client發給host:
        0:CONNECT_TO_HOST , Name=ignore , Message=client name
        1:DISCONNECT_TO_HOST , Name=ignore , Message=ignore
        2:COMMUNICATE , Name="ip\port\client name" , Message=?
        3:REQUEST_LIST , Name="ip\port\*" , Message=ignore
        4:COMMUNICATE_FINISH , Name="ip\port\client name" , Message=ignore
    host發給client:
        0:ERROR , Name=ignore , Message=?
        1:DISCONNECT_TO_CLIENT , Name=ignore , Message=ignore
        2:COMMUNICATE , Name="ip\port\client name" , Message=?
        3:RECEIVE_LIST , Name="ip\host\*" , Message="name1\name2\...."

    其次是host與host之間的消息。消息的格式是Type:BYTE , SourceLen:BYTE , SourceName:CHAR[ ] , DestLen:BYTE , DestName:CHAR[ ] , MsgLen:INT , Msg=CHAR[ ]。跟client-host一樣,也是串在一起成為一個完整的消息的。Type定義如下:

    消息:(HELLO在不同的狀態下有不同的意義)
        0:ERROR , Source=ignore , Dest=ignore , Message=?
        1:HELLO , Source=ignore , Dest=ignore , Message=?
        2:HELLO_RESPONSE , Source=ignore , Dest=ignore , Message=HELLO的消息內容反轉
        3:DISCONNECT , Source=ignore , Dest=ignore , Message=ignore
        4:COMMUNICATE , Source="client name" , Dest="client name" , Message=?
        5:REQUEST_LIST , Source=ignore , Dest=ignore , Message=ignore
        6:RECEIVE_LIST , Source=ignore , Dest=ignore , Message="name1\name2\...."

    因為client每一次發消息都要填上地址,因此host可以自行決定要不要將某些socket斷開。同理,COMMUNICATE_FINISH也是可以不發的,這只是為了資源管理的靈活性而設置的。這個東西就暫時命名為Vczh Messenger吧。Vczh Messenger將提供兩套類庫。第一套用于建立host,第二套用于建立client。這樣的話,一個程序可以決定跟其他程序共享host或者是自己給自己建立host。client將使用事件驅動模型。配合vl::system::synchronize命名空間下的一些組件可以很容易將事件驅動模型修改為其他各種各樣的模型。

    Vczh Messenger在邏輯上是無連接無順序的通訊框架,用于為進一步的remote object access服務。
posted @ 2008-08-02 06:47 陳梓瀚(vczh) 閱讀(1812) | 評論 (4)編輯 收藏
     摘要: 有了全盤的計劃之后,我們必須先處理輸入的腳本,才能夠進行下一步的工作。字符串處理方面可以參照一下三篇文章:《構造可配置語法分析器》、《構造正則表達式引擎》以及《如何手寫語法分析器》。作為補充,這里再說一說其他的辦法。  閱讀全文
posted @ 2008-08-01 23:19 陳梓瀚(vczh) 閱讀(5221) | 評論 (4)編輯 收藏
     摘要: 為了建立一個remote object access system我不得不封裝了socket、pipe以及synchronize objects。不過我還不知道如何實現穿透,這個就暫時算了。今晚用了兩個小時封裝了socket的一些必要操作,并寫了人生中第一個socket程序。

這個程序同時作為server和client。第一次啟動的為server。接下來server進行監聽,client則往server發信息并接受返回的信息。server會將接受到的信息進行反轉發回去,除非收到了exit結束線程,last結束線程并結束監聽。  閱讀全文
posted @ 2008-08-01 06:23 陳梓瀚(vczh) 閱讀(1687) | 評論 (3)編輯 收藏
     摘要: 此管道非彼管道,不是unix用來做命令行的那個。
Windows的管道可以訪問本機或已知機器名的機器上的命名管道,自己也可以建立命名管道。一個命名管道就跟一個server socket一樣,可以進行listen,并產生很多實例來跟很多個client交談。主要函數有:  閱讀全文
posted @ 2008-07-31 09:07 陳梓瀚(vczh) 閱讀(4347) | 評論 (1)編輯 收藏
    vista的sp1竟然讓我的筆記本掛了,整個C盤恢復到出廠狀態……日。

    實習的時候我充分體驗到了Windows Communication Foundation的好處以及壞處。真想用C++弄個出來,整天死鎖。

    本來打算周末更新的教程由于我們組的集體活動加上電腦的囧態無法完成鳥,過幾天再更新。
posted @ 2008-07-29 06:27 陳梓瀚(vczh) 閱讀(728) | 評論 (2)編輯 收藏
     摘要: Vista提供的Common Control Library 6.0的BUTTON類中提供了兩種新的按鈕:Command Link和Split Button。只需要在CreateWindow里面指定BS_COMMANDLINK與BS_SPLITBUTTON就可以獲得這兩種新的控件了。  閱讀全文
posted @ 2008-07-22 06:41 陳梓瀚(vczh) 閱讀(1976) | 評論 (10)編輯 收藏
     摘要: 這一篇文章開始講述如何實現一個高級語言的腳本引擎了。由于工程量較為龐大,因此將分開幾篇文章講。學習做腳本還是要從簡單的東西做起的。上一篇文章介紹的命令腳本為實現高級語言的原理做了鋪墊。首先,高級語言和低級語言腳本的架構是一致的。其次,為了具有較大的優化的空間,我們將把高級語言轉換成低級語言,并配合一個低級語言的腳本引擎來實現高級語言的腳本引擎。當然,習慣上,在這種情況下我們把低級語言叫『指令』。  閱讀全文
posted @ 2008-07-18 20:31 陳梓瀚(vczh) 閱讀(6677) | 評論 (8)編輯 收藏
     摘要: 這次要實現的是一個形式最簡單的腳本。這種腳本僅有命令、標號及跳轉構成,看起來就跟匯編一樣,不過好是比較好讀的。雖然這種腳本語言的語法非常簡單,但是最基本的要素還是要有的。

作為一個腳本引擎,為了可以在各種各樣的合適的宿主程序中使用,腳本本身最好不要涉及到具體的領域。當然,如果這個腳本被創建的目的僅僅是為了某個領域的話,那就無所謂了。因此,一個腳本引擎需要一個檢查和運行代碼的機制、運行時環境的維護以及一個功能足夠使用的插件系統。一個完整的腳本引擎至少需要如下部件:  閱讀全文
posted @ 2008-07-09 21:43 陳梓瀚(vczh) 閱讀(8930) | 評論 (10)編輯 收藏
僅列出標題
共35頁: First 26 27 28 29 30 31 32 33 34 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>
            99精品99| 久久视频在线免费观看| 欧美成年人视频网站| 久久久久久久高潮| 亚洲人精品午夜在线观看| 亚洲国产高清一区| 欧美激情精品久久久久久黑人| 日韩视频一区二区三区在线播放| 亚洲精品123区| 欧美性片在线观看| 久久精品国产综合精品| 久久综合久久综合久久综合| 亚洲老板91色精品久久| 日韩一区二区精品在线观看| 国产精品一区二区你懂得| 久久天堂国产精品| 欧美高清视频一区二区三区在线观看| 99视频日韩| 欧美亚洲网站| 亚洲精品国产日韩| 亚洲欧美福利一区二区| 黄色精品在线看| 亚洲精品日韩综合观看成人91| 欧美日韩日本网| 久久精品一二三| 欧美日韩国产精品自在自线| 久久久久国产一区二区三区| 欧美不卡高清| 久久精品一区四区| 欧美精品一卡二卡| 久久久亚洲一区| 欧美午夜视频一区二区| 美国成人直播| 国产精品美女久久久久久免费| 免费观看亚洲视频大全| 欧美亚男人的天堂| 亚洲国内自拍| 狠狠色狠狠色综合| 亚洲午夜久久久| 亚洲七七久久综合桃花剧情介绍| 亚洲在线视频免费观看| 亚洲精品影院在线观看| 欧美影院视频| 亚洲欧美在线免费| 欧美精品成人91久久久久久久| 久久久久免费观看| 国产精品久久久久久久第一福利| 欧美1区免费| 国产一区二区日韩精品欧美精品| 亚洲精品婷婷| 亚洲三级视频| 美女黄网久久| 麻豆精品在线观看| 国产一区日韩欧美| 亚洲综合色激情五月| 一本色道久久88亚洲综合88| 男男成人高潮片免费网站| 久久久999精品视频| 国产精品三级久久久久久电影| 最新日韩欧美| 亚洲精品乱码久久久久久黑人| 久久久午夜精品| 久久三级福利| 国产一区高清视频| 久久成人人人人精品欧| 久久激情视频| 国产在线播放一区二区三区| 午夜精品久久久久久久久久久久久| 一区二区三区四区五区视频| 欧美日韩大片| 一本一本a久久| 亚洲免费视频中文字幕| 国产精品久久中文| 亚洲欧美日韩高清| 欧美尤物巨大精品爽| 国产欧美综合在线| 销魂美女一区二区三区视频在线| 香蕉av福利精品导航| 国产午夜精品在线观看| 欧美中文在线观看国产| 每日更新成人在线视频| 亚洲大片在线| 欧美激情精品久久久久久| 亚洲免费精品| 新片速递亚洲合集欧美合集| 国产日韩精品一区二区三区在线| 久久激情视频| 亚洲国产1区| 亚洲影院免费观看| 国产午夜精品福利| 久久久亚洲人| 亚洲激情av| 午夜精品久久久久久久蜜桃app| 国产日本精品| 欧美91视频| 亚洲综合社区| 久久综合伊人77777蜜臀| 91久久精品国产| 国产精品视频999| 久久人人看视频| 亚洲伦理精品| 久久久久久国产精品一区| 91久久久久久久久| 欧美亚洲成人精品| 久久只精品国产| 一区二区三区成人| 免费一区视频| 午夜精品一区二区三区在线播放| 狠狠做深爱婷婷久久综合一区 | 欧美在线观看一区| 精品99一区二区三区| 欧美剧在线观看| 欧美一级视频精品观看| 亚洲人午夜精品免费| 久久精品一区二区三区不卡| 亚洲美洲欧洲综合国产一区| 国产麻豆视频精品| 欧美激情视频一区二区三区在线播放| 亚洲桃花岛网站| 亚洲国产精品第一区二区三区| 午夜精品久久久久久99热| 原创国产精品91| 国产伦精品一区二区三区照片91| 欧美日韩成人激情| 久久精品噜噜噜成人av农村| 亚洲一区www| 最新日韩在线| 欧美电影在线观看| 久久天天躁狠狠躁夜夜av| 亚洲欧美日韩综合| 99在线精品观看| 91久久精品国产91久久| 精品福利免费观看| 国产原创一区二区| 国产欧美日韩精品专区| 欧美午夜电影在线观看| 欧美高清在线视频观看不卡| 久热精品视频在线观看一区| 久久视频精品在线| 久久精品中文字幕一区| 久久激情视频免费观看| 小处雏高清一区二区三区 | 久久人91精品久久久久久不卡| 亚洲一区二区免费视频| 999亚洲国产精| 亚洲国产精品激情在线观看| 亚洲国产精品一区在线观看不卡| 国产在线播放一区二区三区| 国产在线高清精品| 黄色成人在线| 在线观看精品视频| 亚洲电影在线播放| 亚洲成色最大综合在线| 影音先锋亚洲精品| 亚洲国产欧洲综合997久久| 在线观看视频免费一区二区三区| 影音欧美亚洲| 亚洲精品久久久蜜桃 | 国产精品视频| 国产亚洲精品美女| 国产在线观看91精品一区| 激情欧美一区| 日韩午夜在线视频| 亚洲综合久久久久| 久久久999精品| 欧美激情一区二区三区在线视频观看 | 国产日韩精品视频一区| 国产日韩精品一区| 亚洲第一精品影视| 日韩视频精品在线观看| 亚洲欧美日韩另类| 久久久久久久欧美精品| 欧美大片免费| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲乱码国产乱码精品精天堂 | 亚洲欧美日韩一区二区在线 | 日韩午夜黄色| 亚洲综合国产激情另类一区| 欧美在线日韩| 欧美精品少妇一区二区三区| 国产精品区二区三区日本| 国产在线成人| 亚洲性感激情| 美女国产一区| 亚洲直播在线一区| 久久精品导航| 国产精品九色蝌蚪自拍| 在线播放视频一区| 亚洲一区二区三区欧美| 免费在线成人av| 亚洲欧美成人| 欧美精品激情在线| 红桃视频国产精品| 亚洲女同在线| 亚洲人体影院| 久久综合九色九九| 国产欧美一区二区三区在线看蜜臀| 亚洲激情视频| 久久久久久久一区| 亚洲永久字幕|