在編寫網路通訊的時候我們經常需要把一些資料存放區到byte[]中然後再發送出去,數值則是我們經常處理的資料成員。發越少的東西意味著使用更少的IO和頻寬 ,所以對傳輸資料進行壓縮也是件非常重要的事情。接下來提到的就是一種基於數字儲存的方式在大多數情況下可以節省數值儲存空間。 Varint 是一種緊湊的表示數位方法。它用一個或多個位元組來表示一個數字,值越小的數字使用越少的位元組數。這能減少用來表示數位位元組數。比如對於 int32 類型的數字,一般需要 4 個 byte
文章目錄 功能簡介發送資料定義測試結果 一般在寫一些網路服務應用的時候都比較關注服務在網路同時讀寫的能力,為了方便對這方面應用的測試所以寫了這樣一個測試的工具。工具的主要作用可以通過不同的串連數來對一個服務應用進行一個讀寫壓力請求,並即時查看當前IO的讀寫次數和每次請求的延時情況等。為大家介紹的這個工具是第二版,相對於第一版主要引入了beetle
如果不是編寫網路通訊應用相信對串連池接觸比較少,其實我們是經常用到的特別是使用ado.net訪問資料庫的時候,預設情況就開啟了串連池功能.串連池的主要功能是對N個串連循還複用,而不是每次使用都建立一個次的串連,通過減少串連建立達到一個更好效能的網路吞吐處理.
最近在用Silverligh做一個網路檔案管理程式,但用在設計介面的時候覺得Silverligh預設的button樣式太福士化了,所以就產生了自己定義按鈕樣式的念頭.在網路一找的確有很多這方面的文章,但都有一個問題就是只定義了按鈕的預設狀態的樣式.對於mouseover等基本都沒有的.還好後來在msdn裡找到詳細協助描述.以下就詳細講述Silverligh中定義一個按鈕各種狀態的樣式.
當寫完一個TCP服務的時候,是不是很想馬上測試一下這個服務的效能,它到底能應付怎樣的請求處理,其效能又是怎樣呢.相信以下這個小工具能幫到你的小忙,它是基於Beetle實現的一個小工具只需要設定一下參數就能對一個TCP服務進行一個簡單的吞吐效能測試.這個小工具可以設定發送的資料內容,串連的數量.其測試流程是串連先向伺服器發送指定的資料,等服務回應後進入下一次請求.工具可以看到每個串連的簡單資訊,包括:上一次請求應答延時,最大延時,最小延時和接收發送位元組數.工具狀態列下面是一個總體處理情況.如果工
Protobuf.net是Protobuf協議在.net平台下的實現,它支援源生的.net程式,Silverlight和window phon7的二進位序列化功能.在這裡主要講述在Silverlight
藉助於擴充方法的功能,這一版本的改進可以讓資料庫操作變得更簡單方便,在資料庫操作相關會給你一種全新的體驗.主要改進有以下幾點:條件運算式可以直接和string進行組合,從而更靈活地建立複雜的查詢條件擴充Load_方法,可以直接在值對象的基礎上擷取相關ID資料對象擴充一系的查詢方法,可直接在string的sql上進行資料操作,包括查詢擷取查詢對象資料.在操作過程完全不需要藉助於其他對象來處理.擴充可以直接在預存程序對象進行執行操作以上的一系列擴充都是直接能操作資料,而不再需引用相關條件對象或資料庫
.net提供了List對象來提供可擴容資料存放區,但在使用的過程中相信很多人直接通過預設建構函式進行建立。但這樣做會存在一定的風險導致Lis在擴容過程增加CPU的損耗和GC的壓力,對於問題的嚴重性就取決於實際應用的場合,如果在高並發的應用下存在大量這操作那問題就變得嚴重多了。
Razor在文法上的確不錯,用起來非常方便。除了在asp.net
之前介紹Beetle的應用都是基於自訂訊息,那給人的感就是這個組件只能做這方面的用途.其實Beetle只是一個基礎的Tcp組件,在它的基礎上可以完成其他協議通訊上的工作.以下是通過Beetle簡單地製作一個httpProxy 伺服器,為了驗證這個Proxy 伺服器的功能編寫這文章也是通過httpProxy 伺服器來提交.以下描述Beetle實現這個功能.
在tcp通訊中為了資料安全在某些情況下對資料進行加密傳輸是很有必要的,可惜的是MS並沒有為Silverlight提供一些標準的加密功能實現.如果你想在Silverlight中使用RSA或DES這些標準的密碼編譯演算法,那真的不好意思MS並沒有提供...不過我們可以使用一些基於Silverlight開源實現的加密庫,以下就是一個開源的RSA加密庫http://scrypt.codeplex.com.
文章目錄 使用配置服務代碼組件效能
Smark.Data.I2MGenerator是Smark.Data組件的實體類產生工具,安裝完成後會自動添加到VS外掛程式裡。通過該外掛程式可以通過編寫一個簡單的接類檔案就能自動產生相對應實體類檔案,從而降低實體類的編寫的複雜性。程式支援winxp,win2003,win7下的VS2008和VS2010(暫時只支援c#)。
文章目錄 查詢可填充到自訂對象中預存程序執行
WebSocket是HTML5裡提供的一種便於TCP長串連通訊的協議機制,隨著HTML5的普及這種技術的使用會變得越來越廣泛,由於Beetle可以靈活地擴充不同的協議,那自然而然對WebSocket支援也是一件非常簡單的事情.對於WebSocket的協議分析處理就不詳細描述可以參考下載程式有完整協議包代碼,如果想更詳細瞭解Websocket的協議可以到這裡:http://datatracker.ietf.org/doc/rfc6455/?include_text=1 下面講述如何使用Beetle
Log4net內建了很多Appender但似乎找不到基於Http.在應用希望在本地儲存日誌的同時也可以把日誌提交到一個Http服務中用於統一跟蹤管理.如果每記錄一次日誌都提交給Http服務那對於應用端來說串連的建立是件很損耗效能的事情.由於日誌不需要即時同步性,在設計上可以通過定時或當記憶體日誌到達一定數量的時候才進行提交,這樣就不會出現頻繁提交日誌帶來的效能問題.功能定義Log4net實現一個Appender是一件比較簡單的工作,只需要實IAppender介面即可以,當然Log4net也會提供
本章節主要講述如何使用Smark.Data 1.8進行快速的資料庫應用開發,主要內容包括配置,執行SQL和預存程序等基礎的資料操作.配置在組件使用之前必須進行一個初始化配置,主要配置資料訪問裝置和對應的資料庫的串連資訊.組件可以通過兩種途徑來進行資料配置分別是設定檔和代碼.Config配置 <configSections> <section name="smarkdata" type="Smark.Data.SmarkDataSection,Smark.Data"/&
HTTP代理在互連網中使用的情況比較多,不過一很多都以負載的方式部署,前置HTTPProxy 伺服器背景N台HTTP應用伺服器.主要功能是提供負載,緩衝等功能.以上是簡單的HTTPProxy 伺服器應用情況.而接下來講的是針對使用者的HTTP代理,為什麼需要這種代理呢?很簡單因為使用者有某些情況不能直接存取HTTP
1. 在Haskell中,字串的的確確成了字元數組的文法糖。2.