發表文章

[Memo]修改UDP接收緩衝區大小

利用TCP/IP與設備做溝通時,通常設備都需要去設定一個IP位置,而當忘記了設備的IP設定是多少的時候,通常會利用UDP的方式發送廣播封包,讓設備可以回應自己的一些資訊,少量設備的情況下不會有太大的問題,但如果設備的數量比較多,或是廣播後設備回應的資料比較多,有可能會遇到應該有200台設備在線上,但是只抓到100台這樣類似的狀況 要處理這個狀況,其中一個方式是加大緩衝區的大小,可以參考下面這篇文章來做 Change default socket buffer size under Windows

[Memo] Override code completion in Android studio

圖片
這篇筆記一下;在撰寫Android的應用程式時,常常都會需要去做事件的覆寫,像是button的click事件,或是繼承/實作介面等等,都會需要用到,但是在程式碼自動完成這部分卻沒有自動的提示;因此常常會發生『有多少東西是我可以覆寫的?』、『帶入的參數類型是啥?』就卡住了,今天找了一下,原來還是有這個功能的(可以 參考一下IntelliJ的這篇文章 ,裡面有詳細的說明),步驟大概是這樣 先將游標移動到你要覆寫事件的類別上(例如Activity) 按下『ctrl+o』 就會跳出一個視窗讓你選擇要覆寫的事件 畫面會像是下面這樣

利用IP位置查詢地理位置

最近需要從IP位置來查詢地理位置,例如像是blog要分析訪客來源位置的類似功能,查詢了一下,似乎都是要從第三方提供的API去做反查,這邊將相關的搜尋先記錄一下 淘寶提供的IP地址庫 搜IP(每日API呼叫次數限制) 需要的朋友可以參考看看;如果有更好的方式也請不吝分享一下給小弟哩 =.,=

在Win7/Win8下傳送UDP廣播封包

在撰寫UDP的應用軟體時,有時候會遇到需要發送廣播封包的需求,而這種情況下,就會選擇使用UDP的方式來傳送,而最簡單的方式就是使用UdpClient來處理了;例如說在不知道對方的IP位置的情況,而對方有做類似IpSearch的功能時,就可以利用廣播的方式讓對方將自己目前的IP位置給傳送回來。 廣播封包的發送通常來說動作就是向255.255.255.255這個廣播位置去做資料的發送,然後再去讀取回送的資料,而本篇筆記主要是在Windows XP跟之後的作業系統(Windows7/WIndows8)之間的差異性 筆者在早期有撰寫了一個簡單的小軟體,來做廣播處理的動作,在發送UDP封包的部分,程式碼大致如下          Dim  bEP  As   New   IPEndPoint ( IPAddress .Broadcast, 4550)         Client =  New   UdpClient (4550,  AddressFamily .InterNetwork)         Client.EnableBroadcast =  True         Client.Send(btySend, btySend.Length,  "255.255.255.255" , 4550)         Threading. Thread .Sleep( CInt (txtDelay.Text))          Do          ...

如何讓Restful Service回應圖片

在一般利用WCF還做restful的服務,回應的部分可以指定要輸出為XML格式或是JSON格式,那麼如果說想要直接回應一張圖片的時候應該要怎麼進行呢? 手上是用WPF的應用程式,先Self Host一個restful service上去,之後來處理回應圖片的部分,下面是參考資訊來源 Self host http://stackoverflow.com/questions/20805317/how-to-set-up-wcf-self-hosted-rest-service Response image http://www.c-sharpcorner.com/uploadfile/dhananjaycoder/fetching-image-using-wcf-rest-service/ http://stackoverflow.com/questions/12781173/cant-return-image-from-wcf-rest-service 主要的方式便是將圖片轉換成Stream,之後http這邊設定回應的類型是image,這樣就可以達成想要的樣子了,下面來看看程式碼的部分吧 Interface     [ ServiceContract ] interface   IMyService {     [ OperationContract ]     [ WebInvoke (UriTemplate  =   "/GetImage" , Method  =   "GET" ,         RequestFormat  =   WebMessageFormat . Xml, ResponseFormat  =   WebMessageFormat . Xml,         BodyStyle  =   WebMessage...

如何列出系統中的印表機,以及指定印表機來做列印

這篇筆記一下小技巧,如果在軟體中,想要列印東西到指定的印表機上,可以利用 PrinterSettings.PrinterName 的屬性來做,很簡單的就可以指定要使用的印表機,那麼如果要知道系統中所有已經安裝的印表機名稱,則可以用 PrinterSettings.InstalledPrinters 來做,下面是簡單的測試程式碼 using   System ; using   System . Drawing ; using   System . Drawing . Printing ; using   System . Windows . Forms ; namespace   WindowsFormsApplication1 {      public   partial   class   Form1  :  Form     {          PrintDocument   printer ;          public   Form1 ()         {              InitializeComponent ();              printer   =   new   PrintDocument ();              printer . PrintPage   += ...

監控服務(Service)的目前狀態

一般撰寫完Service程式之後,Service都是在背景持續的作業,前景部分是不會看到任何的介面的,那麼就會有一些延伸的需求產生。例如說如何知道目前Service的狀態,或是怎麼從Service中取出一些目前運作的訊息等等;這邊就先來看看要怎麼去取得Service的狀態。 要取得目前服務的狀態其實在實作上非常的簡單,只要利用ServiceController的功能就可以達到了,例如下面這個範例可以列出目前系統中的所有服務以及該服務是否支援『停止』的動作 using  System; using  System . ServiceProcess; using  System . Windows . Forms; namespace  svcMonitor {      public   partial   class   Form1  :  Form     {          ServiceController [] svcList;          public  Form1()         {             InitializeComponent();         }          private   void  btnRefresh_Click( object  sender,  EventArgs  e)     ...