<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8001404591519749112</id><updated>2011-11-27T16:26:39.417-08:00</updated><category term='名詞'/><category term='xml'/><category term='問題'/><category term='iis'/><category term='論文'/><category term='javascript'/><category term='mysql'/><category term='程式不相干'/><category term='cygwin'/><category term='php'/><category term='ajax'/><category term='phpmyadmin'/><category term='介紹'/><category term='有用滴'/><category term='ns2'/><category term='執行緒'/><category term='Blogger'/><category term='解決'/><category term='Web Service'/><category term='實驗'/><category term='Fedora 11'/><category term='c'/><category term='C#'/><category term='C++'/><category term='單晶片'/><category term='暫時存放'/><category term='.Net Framework程式設計'/><category term='額外閱讀'/><category term='待續'/><category term='實驗資料'/><category term='Linux'/><category term='reference'/><category term='HTML'/><category term='會用到的= =*'/><category term='必取之'/><category term='widows mobile'/><category term='暫存'/><category term='vs2005'/><category term='json'/><title type='text'>研究生了沒</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default?start-index=101&amp;max-results=100'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>111</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5731628586866228734</id><published>2011-05-25T01:26:00.000-07:00</published><updated>2011-05-25T01:26:51.053-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reference'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>C、C++ 函式庫Reference , Borland C適用</title><content type='html'>找不到 DOS.H、BIOS.H ??&lt;br /&gt;請服用 &lt;br /&gt;&lt;a href="http://www.digitalmars.com/rtl/dos.html"&gt;http://www.digitalmars.com/rtl/dos.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5731628586866228734?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5731628586866228734/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/05/cc-reference-borland-c.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5731628586866228734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5731628586866228734'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/05/cc-reference-borland-c.html' title='C、C++ 函式庫Reference , Borland C適用'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2013860046492926394</id><published>2011-05-25T01:03:00.000-07:00</published><updated>2011-05-25T01:03:48.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>printf   fromat</title><content type='html'>&lt;pre class="snippet"&gt;%[flags][min field width]&lt;span style="color: grey;"&gt;[precision]&lt;/span&gt;[length]conversion specifier&lt;br /&gt;  -----  ---------------  ---------  ------ -------------------&lt;br /&gt;   \             #,&lt;acronym title="number taken from next param"&gt;*&lt;/acronym&gt;        &lt;span style="color: grey;"&gt;.#, .*&lt;/span&gt;     /             \&lt;br /&gt;    \                                 /               \&lt;br /&gt;   &lt;b&gt;#,0,-,+, ,',I&lt;/b&gt;                 &lt;b&gt;hh,h,l,ll,j,z,L&lt;/b&gt;    &lt;b&gt;c,d,u,x,X,e,f,g,s,p,%&lt;/b&gt;&lt;br /&gt;   -------------                 ---------------    -----------------------&lt;br /&gt;   &lt;b&gt;#&lt;/b&gt; | Alternate,                 &lt;b&gt;hh&lt;/b&gt; | char,           &lt;b&gt;c&lt;/b&gt; | unsigned char,&lt;br /&gt;   &lt;b&gt;0&lt;/b&gt; | zero pad,                  &lt;b&gt; h&lt;/b&gt; | short,          &lt;b&gt;d&lt;/b&gt; | signed int,&lt;br /&gt;   &lt;b&gt;-&lt;/b&gt; | left align,                &lt;b&gt; l&lt;/b&gt; | long,           &lt;b&gt;u&lt;/b&gt; | unsigned int,&lt;br /&gt;   &lt;b&gt;+&lt;/b&gt; | explicit + - sign,         &lt;b&gt;ll&lt;/b&gt; | long long,      &lt;b&gt;x&lt;/b&gt; | unsigned hex int,&lt;br /&gt;   &lt;b&gt; &lt;/b&gt; | space for + sign,          &lt;b&gt; j&lt;/b&gt; | [u]intmax_t,    &lt;b&gt;X&lt;/b&gt; | unsigned HEX int,&lt;br /&gt;   &lt;b&gt;'&lt;/b&gt; | locale thousands grouping, &lt;b&gt; z&lt;/b&gt; | size_t,         &lt;b&gt;e&lt;/b&gt; | [-]d.ddde±dd double,&lt;br /&gt;   &lt;b&gt;I&lt;/b&gt; | Use locale's alt digits    &lt;b&gt; t&lt;/b&gt; | ptrdiff_t,      &lt;b&gt;E&lt;/b&gt; | [-]d.dddE±dd double,&lt;br /&gt;                                  &lt;b&gt; L&lt;/b&gt; | long double,  &lt;span style="color: grey;"&gt;---------=====&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: grey;"&gt;if no precision   =&amp;gt; 6 decimal places            /&lt;/span&gt;  &lt;b&gt;f&lt;/b&gt; | [-]d.ddd double,&lt;br /&gt;   &lt;span style="color: grey;"&gt;if precision = 0  =&amp;gt; 0 decimal places      _____/&lt;/span&gt;   &lt;b&gt;g&lt;/b&gt; | &lt;b&gt;e&lt;/b&gt;|&lt;b&gt;f&lt;/b&gt; &lt;acronym title="concise representation with most info"&gt;as appropriate&lt;/acronym&gt;,&lt;br /&gt;   &lt;span style="color: grey;"&gt;if precision = #  =&amp;gt; # decimal places&lt;/span&gt;               &lt;b&gt;G&lt;/b&gt; | &lt;b&gt;E&lt;/b&gt;|&lt;b&gt;F&lt;/b&gt; as appropriate,&lt;br /&gt;   &lt;span style="color: grey;"&gt;if flag = #       =&amp;gt; always show decimal point&lt;/span&gt;      &lt;b&gt;s&lt;/b&gt; | string,&lt;br /&gt;                                             &lt;span style="color: grey;"&gt;..............------&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: grey;"&gt;                                            /&lt;/span&gt;          &lt;b&gt;p&lt;/b&gt; | pointer,&lt;br /&gt;   &lt;span style="color: grey;"&gt;if precision      =&amp;gt; max field width    /&lt;/span&gt;           &lt;b&gt;%&lt;/b&gt; | %&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Examples of common combinations:&lt;br /&gt;&lt;table class="pixelbeat"&gt;&lt;tbody&gt;&lt;tr class="pbtitle"&gt;&lt;td&gt;&lt;b&gt;format&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;output&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%08X",32_bit_var);&lt;/td&gt;&lt;td&gt;&lt;span class="monospace"&gt;0000ABCD&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%lu",32_bit_var);&lt;/td&gt;&lt;td&gt;&lt;span class="monospace"&gt;43981&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%'d",32_bit_var);&lt;/td&gt;&lt;td&gt;&lt;span class="monospace"&gt;43,981&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%10s","string");&lt;/td&gt;&lt;td align="center"&gt;&lt;span class="monospace"&gt;    string&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%*s",10,"string");&lt;/td&gt;&lt;td align="center"&gt;&lt;span class="monospace"&gt;    string&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%-10s","string");&lt;/td&gt;&lt;td align="center"&gt;&lt;span class="monospace"&gt;string    &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;printf("%-10.10s","truncateiftoolong");&lt;/td&gt;&lt;td align="center"&gt;&lt;span class="monospace"&gt;truncateif&lt;/span&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;REF: http://www.pixelbeat.org/programming/gcc/format_specs.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2013860046492926394?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2013860046492926394/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/05/printf-fromat.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2013860046492926394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2013860046492926394'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/05/printf-fromat.html' title='printf   fromat'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2381052966327883111</id><published>2011-04-21T01:31:00.000-07:00</published><updated>2011-04-21T01:31:52.193-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>使用codewarrior 注意點點</title><content type='html'>compile錯誤描述: reference to lable '233' is out of range&lt;br /&gt;&lt;br /&gt;敘述:&lt;br /&gt;在程式碼加上兩行程式碼 &lt;br /&gt;cmp.l #40,D0 &lt;br /&gt;beq&amp;nbsp; C_lable1&lt;br /&gt;就發生錯誤..&lt;br /&gt;&lt;br /&gt;花了挺多時間還是搞不懂，最後由david回答，特此紀念XD&lt;br /&gt;david said:當發生reference to lable '233' is out of range ,此類無法判斷的錯誤訊息，需注意&lt;br /&gt;1:程式碼寫法&lt;br /&gt;2.前後文友寫跳躍的部份是否異常&lt;br /&gt;結果證明是2，因為前面不遠處有短距跳躍 beq.s 敘述，在其後面加上了上面的兩行程式碼，結果造成距離過長跳躍不到所指向的label !!!!!!&lt;br /&gt;&lt;br /&gt;話說，想想之前好像也遇到過一樣的問題，還是打上網誌不會忘記。錯誤描述只能參考用!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2381052966327883111?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2381052966327883111/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/04/codewarrior.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2381052966327883111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2381052966327883111'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/04/codewarrior.html' title='使用codewarrior 注意點點'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7929476334131039374</id><published>2011-03-13T10:21:00.000-07:00</published><updated>2011-03-13T10:21:14.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='名詞'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='單晶片'/><title type='text'>coldfire 縮寫術語</title><content type='html'>Table i. Acronyms and Abbreviated Terms&lt;br /&gt;Term Meaning&lt;br /&gt;ADC Analog-to-digital conversion&lt;br /&gt;ALU Arithmetic logic unit&lt;br /&gt;BDM Background debug mode&lt;br /&gt;BIST Built-in self test&lt;br /&gt;BSDL Boundary-scan description language&lt;br /&gt;CODEC Code/decode&lt;br /&gt;DAC Digital-to-analog conversion&lt;br /&gt;DMA Direct memory access&lt;br /&gt;DSP Digital signal processing&lt;br /&gt;EA Effective address&lt;br /&gt;FIFO First-in, first-out&lt;br /&gt;GPIO General-purpose I/O&lt;br /&gt;I2C Inter-integrated circuit&lt;br /&gt;IEEE Institute for Electrical and Electronics Engineers&lt;br /&gt;IFP Instruction fetch pipeline&lt;br /&gt;&lt;br /&gt;IPL Interrupt priority level&lt;br /&gt;JEDEC Joint Electron Device Engineering Council&lt;br /&gt;JTAG Joint Test Action Group&lt;br /&gt;LIFO Last-in, first-out&lt;br /&gt;LRU Least recently used&lt;br /&gt;LSB Least-significant byte&lt;br /&gt;lsb Least-significant bit&lt;br /&gt;MAC Multiply accumulate unit, also Media access controller&lt;br /&gt;MBAR Memory base address register&lt;br /&gt;MSB Most-significant byte&lt;br /&gt;msb Most-significant bit&lt;br /&gt;Mux Multiplex&lt;br /&gt;NOP No operation&lt;br /&gt;OEP Operand execution pipeline&lt;br /&gt;PC Program counter&lt;br /&gt;&lt;br /&gt;PCLK Processor clock&lt;br /&gt;PLIC Physical layer interface controller&lt;br /&gt;PLL Phase-locked loop&lt;br /&gt;POR Power-on reset&lt;br /&gt;PQFP Plastic quad flat pack&lt;br /&gt;PWM Pulse width modulation&lt;br /&gt;QSPI Queued serial peripheral interface&lt;br /&gt;RISC Reduced instruction set computing&lt;br /&gt;Rx Receive&lt;br /&gt;SIM System integration module&lt;br /&gt;SOF Start of frame&lt;br /&gt;TAP Test access port&lt;br /&gt;TTL Transistor transistor logic&lt;br /&gt;Tx Transmit&lt;br /&gt;UART Universal asynchronous/synchronous receiver transmitter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7929476334131039374?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7929476334131039374/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/03/coldfire.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7929476334131039374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7929476334131039374'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/03/coldfire.html' title='coldfire 縮寫術語'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7371551445584852920</id><published>2011-03-03T02:39:00.000-08:00</published><updated>2011-03-03T02:39:16.443-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='名詞'/><category scheme='http://www.blogger.com/atom/ns#' term='暫存'/><title type='text'>(咬 )文(嚼 )字</title><content type='html'>宏：「&lt;span style="color: red;"&gt;宏&lt;/span&gt;」指的是用一個字串代替另一個字串的功能。在makefile中可以使用「=」號來定義宏，使用「$（宏名）」來使用宏；還可以用「:=」追加宏的內容。習慣上，宏名使用大寫。&lt;br /&gt;&lt;br /&gt;有一些編譯器輸出的代碼，將執行於與編譯器所在相同型別的電腦和作業系統之上，這種編譯器叫做原生編譯器。輸出可以執行於不同的平台之上的編譯器，叫做交叉編譯器。由於嵌入式系統通常沒有軟體開發環境，因此，為這類系統開發軟體時，通常需要使用&lt;span style="color: red;"&gt;交叉編譯器&lt;/span&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7371551445584852920?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7371551445584852920/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/03/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7371551445584852920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7371551445584852920'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2011/03/blog-post.html' title='(咬 )文(嚼 )字'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5764232901754886318</id><published>2010-12-10T09:32:00.000-08:00</published><updated>2010-12-10T09:34:20.233-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora 11'/><title type='text'>安裝gcin for fedora 11</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:displayhorizontaldrawinggridevery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;   &lt;w:displayverticaldrawinggridevery&gt;2&lt;/w:DisplayVerticalDrawingGridEvery&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:spaceforul/&gt;    &lt;w:balancesinglebytedoublebytewidth/&gt;    &lt;w:donotleavebackslashalone/&gt;    &lt;w:ultrailspace/&gt;    &lt;w:donotexpandshiftreturn/&gt;    &lt;w:adjustlineheightintable/&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:表格內文;  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;系統環境&lt;/span&gt;&lt;span lang="EN-US"&gt;: win xp ,&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;使用&lt;/span&gt;&lt;span lang="EN-US"&gt;VMware &lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;掛載&lt;/span&gt;&lt;span lang="EN-US"&gt;Fedora11 &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;目的是要在&lt;/span&gt;&lt;span lang="EN-US"&gt;KDevelop&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;下能打中文註解&lt;/span&gt;&lt;span lang="EN-US"&gt;…&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;gcin&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;下載地點&lt;/span&gt;&lt;span lang="EN-US"&gt;: &lt;a href="http://cle.linux.org.tw/gcin/download/"&gt;http://cle.linux.org.tw/gcin/download/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;選擇版本&lt;/span&gt;&lt;span lang="EN-US"&gt;: gcin-1.5.5-liu_mdk.i586.rpm&lt;span style=""&gt;   &lt;/span&gt;11-Aug-2010 20:29 &lt;span style=""&gt;       &lt;/span&gt;1.4M&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;在&lt;/span&gt;&lt;span lang="EN-US"&gt;GNOME&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;桌面環境下，使用&lt;/span&gt;&lt;span lang="EN-US"&gt;FIREFOX&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;下載。&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;於終端機&lt;/span&gt;&lt;span lang="EN-US"&gt; CD&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;進入&lt;/span&gt; &lt;span style="font-family: 新細明體;"&gt;下載目錄&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;執行&lt;/span&gt; &lt;span lang="EN-US"&gt;yum install gcin&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;開始安裝，執行&lt;/span&gt;&lt;span lang="EN-US"&gt;yes&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新細明體;"&gt;安裝完成&lt;/span&gt;&lt;span lang="EN-US"&gt;!!!!!!!!!&lt;span style=""&gt;    &lt;/span&gt;2010/12/7&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Ref:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://blog.xuite.net/ubuntu/linux/7668046"&gt;&lt;span style="" lang="IT"&gt;http://blog.xuite.net/ubuntu/linux/7668046&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="" lang="IT"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;含&lt;/span&gt;&lt;span style="" lang="IT"&gt;gcin&lt;/span&gt;&lt;span style="font-family: 新細明體;"&gt;使用說明&lt;/span&gt;&lt;span style="" lang="IT"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="IT"&gt;&lt;a href="http://cle.linux.org.tw/gcin/download/"&gt;http://cle.linux.org.tw/gcin/download/&lt;/a&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5764232901754886318?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5764232901754886318/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/12/gcin-for-fedora-11.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5764232901754886318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5764232901754886318'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/12/gcin-for-fedora-11.html' title='安裝gcin for fedora 11'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3116032366133731646</id><published>2010-12-10T07:37:00.000-08:00</published><updated>2010-12-10T09:45:51.430-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora 11'/><title type='text'>LINUX 學習心得</title><content type='html'>目前在學習LINUX ~&lt;br /&gt;趁著這個週末~ 來紀錄一下，學到的東西，以及一些感想。&lt;br /&gt;&lt;br /&gt;電腦環境:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;NB: ACER ASPIRE 4741G&lt;/li&gt;&lt;li&gt;系統: WIN XP Processional 2002 SP3&lt;/li&gt;&lt;li&gt;CPU:i5 M460@2.53GHz&lt;/li&gt;&lt;li&gt;RAM:2.98GB&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;小弟對這台NB評價.. 效能不錯，照我每次都開兩個瀏覽器，狂開視窗查閱資料，再加上VMware照跑.. 沒什麼大問題發生。 但是周邊裝置就有點不舒適了，USB太靠近使用者，動滑鼠就容易碰到，VGA、網路埠、電源插頭都在左手邊...非常不習慣~也不試用我的工作環境...&lt;br /&gt;但整體而言..免費的就是好用  XD&lt;br /&gt;&lt;br /&gt;LINUX環境:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;版本 Fedora 11 (目前到14)&lt;/li&gt;&lt;li&gt;視窗介面: GNOME&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;目前使用VMware這套虛擬機器來安裝LINUX，很酷的一套軟體，早點知道這東西，以前玩遊戲就可以開分身了XD。&lt;br /&gt;&lt;br /&gt;當初建置時沒沒Step by Step記錄下來，就照印象來說囉~&lt;br /&gt;安裝好VMware，新建一個虛擬機器系給LINUX用，要設定磁碟、記憶體大小分給VMware用。&lt;br /&gt;工具列 VM-&gt;Options-&gt;Guest operating system-&gt; Linux 圈起來，Version-&gt;Red Hat Linux&lt;br /&gt;我明明是要裝Fedora, 怎會選小紅帽??  ... 我真的忘了  ， 好像裡面沒有Fedora選項吧 ??&lt;br /&gt;&lt;br /&gt;開始安裝Fedora&lt;br /&gt;首先，除了Next and Next，會出現的問題，是要分割硬碟(檔案系統)&lt;br /&gt;boot、swap、root 等等，詳細設定 google一下就有了。&lt;br /&gt;安裝設定，軟體、工具、桌面...全開!!  總比之後安裝要自行編譯容易的多XD&lt;br /&gt;&lt;br /&gt;從VMware到LINUX裝完~ 花了2.5個小時吧~&lt;br /&gt;這時候會發現即使使用全螢幕模式，我們的系統還是沒辦法真正實現全螢幕&lt;br /&gt;並且鼠標陷在VMware裡頭，要跳出VMware 請按 CRTL+ ALT&lt;br /&gt;先把這給改掉~ 在VMware裡的 快捷設定 設成 CRTL + SPACE&lt;br /&gt;並在工具列中 選擇 Install VMware Tool , 裡面內容...我現在看不到&gt;&lt; ~ google是好朋友XD&lt;br /&gt;安裝完後~ 就可以輕鬆移出鼠標，並且全螢幕實現~ &lt;br /&gt;LINUX 桌面環境其實蠻方便的~ 但是當下載軟體原始碼時 需要自己編譯、安裝~ 現在還不知道有沒有其他方式~ 至少我都是在終端機使用的~&lt;br /&gt;剛開始真的不習慣啊~  連複製檔案 都搞了一陣子 &gt;&lt;  所以 要碰終端機 必學指令 如下:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;顯示目前路徑檔案列表  : ls ` ll &lt;/li&gt;&lt;li&gt;複製檔案至目錄XXX下 : cp &lt;/li&gt;&lt;li&gt;移動檔案至目錄XXX下: mv &lt;/li&gt;&lt;li&gt;移除檔案 : rm &lt;/li&gt;&lt;li&gt;解 壓縮檔 (tar.gz): tar -xvf XXX.tar.gz &lt;/li&gt;&lt;li&gt;安裝 : yum , rpm &lt;/li&gt;&lt;li&gt;換目錄: cd ` cd .. (回到上一層) &lt;/li&gt;&lt;li&gt;搜尋 : whereis `which ` find ` grep &lt;/li&gt;&lt;li&gt;查詢指令: man `  xxx --help &lt;/li&gt;&lt;li&gt;切換root :  su &lt;/li&gt;&lt;li&gt;目前路徑: pwd  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;再來~ 目錄 可分為 root 和  user&lt;br /&gt;登入後 ， 會在home/user/  路徑下面  ，即  ~符號 。&lt;br /&gt; root/ 是根目錄 ，即  / 符號， 也只有root 管理員 能在此目錄進行更多的動作及設定 。 &lt;br /&gt;&lt;br /&gt;環境設定，指令都熟悉差不多之後，就可以開始程式撰寫了&lt;br /&gt;小弟環境是 使用 KDevelop編輯，掛QT編譯器 剛開始，也是非常不習慣啊&gt;&lt; 但後來發現 ~ 自訂功能非常豐富~ 其實非常方便 上一步這功能很好用 XD ~ 前一陣子看到VS 2010也有這功能 ~&lt;br /&gt;&lt;br /&gt;但是目前還是有些問題存在~ 程式中，類別庫會使用到 LINUX C Libary, QT Libray, 自訂Libary&lt;br /&gt; 每次想要查詢LINUX Libary(就是跳至定義),時 都無法顯示~ 出現 man錯誤...  之後解決了再說吧~ &lt;br /&gt;對了 ~ 這之前還做了一件事 ~安裝　gcin 輸入法。&lt;br /&gt;Ｆedora 預設安裝的輸入法是Ｉbus,但沒有新注音... 我也只會新注音所以囉～&lt;br /&gt;&lt;a href="http://netcomclarkboy.blogspot.com/2010/12/gcin-for-fedora-11.html"&gt;安裝　gcin 輸入法&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS. 如果出現了網路無法連接~ 記的要選網路橋接(Bridge)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3116032366133731646?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3116032366133731646/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/12/linux.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3116032366133731646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3116032366133731646'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/12/linux.html' title='LINUX 學習心得'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2039174610694739365</id><published>2010-09-27T05:24:00.000-07:00</published><updated>2010-09-27T05:29:25.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='單晶片'/><title type='text'>work1: Datasheet</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.analog.com/static/imported-files/data_sheets/AD594_595.pdf"&gt;AD595 Monolithic Thermocouple Amplifiers with Cold Junction Compensation  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cnpdf.alldatasheet.com/datasheet-pdf/view/74910/MICROCHIP/93C46.html"&gt;93C46 256Bit/1K 5.0V Serial EEPROM&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2039174610694739365?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2039174610694739365/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/09/work1-datasheet.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2039174610694739365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2039174610694739365'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/09/work1-datasheet.html' title='work1: Datasheet'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-9096784388270880182</id><published>2010-07-23T01:49:00.000-07:00</published><updated>2010-07-23T01:55:12.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>call by value、address、reference</title><content type='html'>分別說明C++中 call by value , call by address , call by reference 與C的關係&lt;br /&gt;參考來源 :&lt;br /&gt;&lt;a href="http://www.programmer-club.com/pc2020v5/forum/showSameTitleN.asp?board_pc2020=c&amp;amp;id=36833&amp;amp;keyword="&gt;ofstream的參數傳虒 為什麼要加 &amp;amp; 運算子？ / C++ / 程式設計俱樂部&lt;/a&gt;&lt;br /&gt;裡面sflam(Raymond)&lt;a href="http://www.programmer-club.com/pc2020v5/forum/showSameTitleN.asp?board_pc2020=c&amp;amp;id=36833&amp;amp;keyword=#" onclick="JavaScript:OpenWindowx('/member2007.asp?uid=sflam'); return false" class="c4" none=""&gt;&lt;!--&lt;span style="color:#D80404;"&gt;--&gt;&lt;/a&gt;大大的回覆&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(128, 128, 128);font-family:Georgia,Trebuchet MS;font-size:78%;"  &gt;2007/11/2 下午 10:48:47&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;我個人覺得 "call by X" 這個說法容易造成誤解, 我比較喜歡用 "pass by X".  因為這裡講的是參數如何傳遞, 而不是函式如何呼叫.&lt;br /&gt;&lt;br /&gt;嚴格說起來, C 沒有 "pass by address" 這個東西.  所有的參數都是 "pass by value".  即使傳入的是個位址也是如此.  如果傳入的參數是個位址, 那接收的函式就必須是個指標, 指標所得到的是位址的值, 都是 value.&lt;br /&gt;&lt;br /&gt;比方說:&lt;br /&gt;&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;main()&lt;br /&gt;　　{&lt;br /&gt;　　　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;i;&lt;br /&gt;　　　　func(&amp;amp;i);&lt;br /&gt;　　　　...&lt;br /&gt;　　}&lt;br /&gt;&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; func(&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;*pi)&lt;br /&gt;　　{&lt;br /&gt;　　　　...&lt;br /&gt;　　}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;在　main()　裡:&lt;br /&gt;&lt;br /&gt;　　　　　　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;i&lt;br /&gt;　　　　　　＋＝＝＝＝＝＋&lt;br /&gt;〔ｉ的位址〕｜　　　　　｜&lt;br /&gt;　　　｜　　＋＝＝＝＝＝＋&lt;br /&gt;　　　｜&lt;br /&gt;　　　｜&lt;br /&gt;　　　｜　　　在 func() 裡, pi 得到一份 「i 位址的拷貝」...&lt;br /&gt;　　　｜&lt;br /&gt;　　　｜　　　　　ｉｎｔ　＊ｐｉ　　　　　&lt;br /&gt;　　　｜　　　　＋＝＝＝＝＝＝＝＝＝＋&lt;br /&gt;　　　＋－－－－＋－＞〔ｉ的位址〕　｜&lt;br /&gt;　　　　　　　　＋＝＝＝＝＝＝＝＝＝＋&lt;br /&gt;&lt;br /&gt;結果就是, func() 裡的 pi 指向 main() 裡的 i:&lt;br /&gt;&lt;br /&gt;　　　ｉ&lt;br /&gt;　　＋＝＝＝＝＝＋&lt;br /&gt;　　｜　　　　　｜＜－－＋&lt;br /&gt;　　＋＝＝＝＝＝＋　　　｜&lt;br /&gt;　　　　　　　　　　　　｜　main()&lt;br /&gt;～～～～～～～～～～～～｜～～～～～～&lt;br /&gt;　　　　　　　　　　　　｜　func()&lt;br /&gt;　　　ｐｉ　　　　　　　｜&lt;br /&gt;　　＋＝＝＝＝＝＋　　　｜&lt;br /&gt;　　｜　＊－－－＋－－－＋&lt;br /&gt;　　＋＝＝＝＝＝＋&lt;br /&gt;&lt;br /&gt;在 func() 裡面更改 pi 所指向的記憶體, 也就更改了 main() 裡面的 i.  如果函式要修改上一層的變數, 在 C 語言裡面唯一的方法就是傳入變數的位址, pass an address.  所傳的方式是這個位址的值, the address is pass by value.&lt;br /&gt;&lt;br /&gt;所以 "pass by address" 可以看成是 "pass the address by value".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C++ 除了 C 的 pass by value 外, 也支援 "pass by reference" 的概念.  在概念上, reference 可以看成是一個變數的別名.  更改這個別名的內容也就更改了這個別名所代表的變數內容.&lt;br /&gt;&lt;br /&gt;比較看看三種做法在語法上有什麼不同:&lt;br /&gt;&lt;br /&gt;〔1: pass by value〕&lt;br /&gt;&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;main()&lt;br /&gt;　　{&lt;br /&gt;　　　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;i;&lt;br /&gt;　　　　func(i);&lt;br /&gt;　　}&lt;br /&gt;&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; func(&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;i2) { ... }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;〔2: pass an address by value〕&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;main()&lt;br /&gt;　　{&lt;br /&gt;　　　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;i;&lt;br /&gt;　　　　func(&amp;amp;i);&lt;br /&gt;　　}&lt;br /&gt;&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; func(&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;*p) { ... }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;〔3: pass by reference〕&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;main()&lt;br /&gt;　　{&lt;br /&gt;　　　　&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;i;&lt;br /&gt;　　　　func(i);&lt;br /&gt;　　}&lt;br /&gt;&lt;br /&gt;　　&lt;span style="color:blue;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; func(&lt;span style="color:blue;"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;&amp;amp;i2) { ... }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;在 〔1〕 裡, 不管 func() 裡面如何更改 i2, 都不會影響到 main() 裡的 i.&lt;br /&gt;在 〔2〕 裡, func() 是透過 *p 去改變 main() 裡 i 的值.&lt;br /&gt;在 〔3〕 裡, i2 是 i 的別名.  func() 更改 i2 的值, main() 裡的 i 也會跟著改變.&lt;br /&gt;&lt;br /&gt;在 C 語言裡, 只有 〔1〕 跟 〔2〕 兩種寫法.  要把 〔1〕 改成 〔2〕, 呼叫的地方跟函式的內容都要更改.&lt;br /&gt;&lt;br /&gt;在 C++ 語言裡, 三種寫法都可以用.  單單看 main(), 〔1〕 跟 〔3〕是沒有分別的.  要把 〔1〕 改成 〔3〕, 只需把函式的參數加個 '&amp;amp;'.&lt;br /&gt;&lt;br /&gt;〔1〕 跟 〔3〕 的最大分別是: 物件的拷貝.  在 〔1〕 裡, 物件會被拷貝. 〔3〕 則不會, i2 跟 i 是同樣的物件.&lt;br /&gt;&lt;br /&gt;樓主的問題就是『物件有無拷貝』的問題.  有些物件是不能或不適合拷貝的, 比方說 ostream.&lt;br /&gt;&lt;br /&gt;ostream 是個 C++ 物件, 它有一個對應的檔案物件.  C++  物件是個抽象的物件, 在記憶體裡.  它對應的檔案是個實在的物件, 存在磁碟裡.  這兩個物件的 states 必須要一致, 要同步才能  work.  如果這個物件被拷貝了, 那同一個檔案物件就對上了一個以上的 ostream 物件.  只要其中一個 ostream 物件更改了它的  state (比方說在函式裡輸出一些值到檔案裡, 或關閉檔案), 那其他的 ostream 的 state 就跟檔案的 state 不一致,  不同步了.  當然就會造成很大的問題.&lt;br /&gt;&lt;br /&gt;所以像這類不適合拷貝的物件, 只能用 〔2〕 或 〔3〕 的方式來做.  用 reference 是比較方便, 因為 pointer 還要用 dereference 的語法.&lt;br /&gt;&lt;br /&gt;其它『不能拷貝的物件』的例子還滿多的, 像 MFC 的 CWnd 及所有 CWnd 衍生的物件都是基於同樣的原因, 不能拷貝的物件. &lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-9096784388270880182?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/9096784388270880182/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/07/call-by-valueaddressreference.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9096784388270880182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9096784388270880182'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/07/call-by-valueaddressreference.html' title='call by value、address、reference'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-9198082208054974028</id><published>2010-07-13T23:05:00.000-07:00</published><updated>2010-07-13T23:39:51.702-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vs2005'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>VS2005 inline function 反組譯追蹤</title><content type='html'>&lt;div&gt;開發平台： VC++ , Windows&lt;br /&gt;&lt;br /&gt;使用行內涵式時，修飾詞inline會告知編譯器，&lt;br /&gt;每當程式碼呼叫此函式時，就會產生一函式副本來取代該函式呼叫，&lt;br /&gt;以便節省呼叫函式的時間。&lt;br /&gt;也就是說，&lt;br /&gt;程式控制權一直在main()裡面(假設在main中呼叫inline函式)，&lt;br /&gt;而非每次呼叫函式時便轉移控制權到該函式。&lt;br /&gt;&lt;br /&gt;如何在vs2005平台偵錯模式中觀察這個差異?&lt;br /&gt;在專案-&gt;屬性&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 217px; DISPLAY: block; HEIGHT: 190px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5493640769180237698" border="0" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/TD1VLEqXf4I/AAAAAAAABUM/pf2lA24tut4/s320/1.png" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;在屬性視窗中，預設debug mode 的內嵌函式展開屬性為"預設"&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 99px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5493640775734344722" border="0" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/TD1VLdE_PBI/AAAAAAAABUU/NZjq_gUftF4/s320/2.png" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;要觀察行內涵式的反組譯須把偵錯模式改為release，內嵌行式展開設為"僅_inline"&lt;/p&gt;&lt;br /&gt;&lt;p&gt;避免編譯時因最佳化關係自動把函式inline起來&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 102px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5493640782510881490" border="0" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/TD1VL2Uo-tI/AAAAAAAABUc/Ot6OLEJ4vM0/s320/3.png" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;~觀察反組譯~&lt;/p&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/TD1aJqTKKXI/AAAAAAAABUk/f59ZGrBr5iA/s1600/9.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 478px; DISPLAY: block; HEIGHT: 292px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5493646242481842546" border="0" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/TD1aJqTKKXI/AAAAAAAABUk/f59ZGrBr5iA/s320/9.png" /&gt;&lt;/a&gt; &lt;p&gt;inline function 程式碼已內嵌&lt;br /&gt;&lt;/p&gt;&lt;p&gt;一般函式叫用，可以看到第4行 :0040106B call countcubeVolume1 (401140h)&lt;br /&gt;程式執行至此，會call countcubeVolume1 。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-9198082208054974028?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/9198082208054974028/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/07/vs2005-inline-function.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9198082208054974028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9198082208054974028'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2010/07/vs2005-inline-function.html' title='VS2005 inline function 反組譯追蹤'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BTVHUy5toYM/TD1VLEqXf4I/AAAAAAAABUM/pf2lA24tut4/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8556364142231865481</id><published>2009-07-05T23:30:00.000-07:00</published><updated>2009-07-06T00:21:24.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>使用nusoap建立web service-範例</title><content type='html'>首先 分別撰寫cliet與server端程式，放在nusoap資料夾下&lt;br /&gt;&lt;br /&gt;server端部分程式碼撰寫原則:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;撰寫欲被client調用的函式connectandsave($content)&lt;/li&gt;&lt;li&gt;引入nusoap require_once("lib/nusoap.php");&lt;/li&gt;&lt;li&gt;建立soap_server實體  new soap_server()&lt;/li&gt;&lt;li&gt;配置WSDL文件敘述  configureWSDL&lt;/li&gt;&lt;li&gt;為服務註冊register方法函式(connectandsave)&lt;/li&gt;&lt;li&gt;使用service方法執行方法並回傳值 $server-&amp;gt;service($POST_DATA);  &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;server端-WSservertest.php:&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;&amp;lt;?php&lt;br /&gt;  //定義service處理函式&lt;br /&gt;  function connectandsave($content)        &lt;br /&gt;  {&lt;br /&gt;      $xx = main::toStore($content);&lt;br /&gt;    &lt;br /&gt;      return "get \r\n" . main::$accuracy2 . "\r\n" ;&lt;br /&gt;      //return "get \r\n" . $content . "\r\n" ."dd";&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;  date_default_timezone_set("Asia/Taipei");&lt;br /&gt;  require_once("lib/nusoap.php");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  $server = new soap_server();// 初始化一個service物件實體&lt;br /&gt;  $server-&amp;gt;soap_defencoding='UTF-8';&lt;br /&gt;  $server-&amp;gt;decode_utf8=false;&lt;br /&gt;  $server-&amp;gt;configureWSDL("SimpleService");// 配置 WSDL 描述,叫用時以此為類別名稱&lt;br /&gt;  $server-&amp;gt;wsdl-&amp;gt;schemaTargetNamespace = $namespace; // set namespace&lt;br /&gt;  // register service's WebMethod,註冊過的程序才能被訪問到&lt;br /&gt;//    $server-&amp;gt;register('answerHello',array('name' =&amp;gt; 'xsd:string'),array('return' =&amp;gt; 'xsd:string'));&lt;br /&gt;  $server-&amp;gt;register(&lt;br /&gt;                  // method name:&lt;br /&gt;                  'connectandsave',        &lt;br /&gt;                  // parameter list:&lt;br /&gt;                  array('name'=&amp;gt;'xsd:string'),&lt;br /&gt;                  // return value(s):&lt;br /&gt;                  array('return'=&amp;gt;'xsd:string'),&lt;br /&gt;                  // namespace:&lt;br /&gt;                  $namespace,&lt;br /&gt;                  // soapaction: (use default)&lt;br /&gt;                  false/*,&lt;br /&gt;                  // style: rpc or document&lt;br /&gt;                  'document',&lt;br /&gt;                  // use: encoded or literal&lt;br /&gt;                  'encoded',&lt;br /&gt;                  // description: documentation for the method&lt;br /&gt;                  'Anser Hello to World '*/);&lt;br /&gt;                &lt;br /&gt;               &lt;br /&gt;  //把client端 post 過來的資料，傳給server物件的 service 方法處理。&lt;br /&gt;  //service 方法處理的資料會借調用相應的函式回傳給叫用端&lt;br /&gt;  $POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])&lt;br /&gt;                  ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';&lt;br /&gt;                &lt;br /&gt;  $server-&amp;gt;service($POST_DATA);              &lt;br /&gt;  exit();&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;其中main是自定類別，裡面就是自己寫的一些程序&lt;br /&gt;&lt;br /&gt;接下來示範如何調用剛剛寫好的函式connectandsave&lt;br /&gt;client端部分程式碼撰寫原則:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;引入nusoap require_once("lib/nusoap.php");&lt;/li&gt;&lt;li&gt;建立soapclient()實體  new soapclient()&lt;/li&gt;&lt;li&gt;將要傳送的資料陣列化(array)&lt;/li&gt;&lt;li&gt;使用call方法叫用欲呼叫的方法call(函式名)&lt;/li&gt;&lt;li&gt;印出call完後的值;  &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;client端-WSclienttest.php :&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;&amp;lt;?php&lt;br /&gt;  require_once("lib/nusoap.php");&lt;br /&gt;  //初始化 client 物件，是class soapclient 的一個實體&lt;br /&gt;  //把服務程序的 URL 地址傳遞给soapclient類別的構造函式&lt;br /&gt;  $client = new soapclient('http://xxxx/nusoap/WSservertest.php'); //後面利用client物件的 call 方法調用 WEB 服务的程序'GPSconnectandsave'&lt;br /&gt;&lt;br /&gt;  $myname = 'clark' ;&lt;br /&gt;//    $Content = '25.07433874,121.52545941,2009-05-23,17:53:56,1.2,5,2.3,2.6,8.3,xxx' ;  //中原國小門口&lt;br /&gt;  $Content = '24.956846,121.242451,2009-05-23,17:53:56,1.2,5,2.3,2.6,8.3,xxx' ;  //中原大草皮&lt;br /&gt;&lt;br /&gt;  $parameters=array('24.956846,121.242451,2000-01-01,17:53:56,1.2,5,2.3,2.6,8.3,xxx');&lt;br /&gt;  $str=$client-&amp;gt;call('connectandsave',$parameters);  //call('函式名',匹配的參數)  函式名為在WSservertest.php中所註冊的函式&lt;br /&gt;&lt;br /&gt;  //$str=$client-&amp;gt;call('hello'); //客户端对象的 getError() 方法可以用来检查调用过程是否出现错误。&lt;br /&gt;  //如果没有错误， getError() 方法返回 false ；如果有错误， getError()方法返回错误信息。&lt;br /&gt;  if (!$err=$client-&amp;gt;getError()) {&lt;br /&gt;      echo " return:",htmlentities($str,ENT_QUOTES);  //the optional second quote_style  parameter lets you define what will be done with 'single' and "double" quotes. It takes on one of three constants with the default being ENT_COMPAT:  ,ENT_QUOTES      Will convert both double and single quotes.&lt;br /&gt;  } else {&lt;br /&gt;      echo " error :",htmlentities($err,ENT_QUOTES);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;//觀察request 和 response響應&lt;br /&gt;echo '&amp;lt;p/&amp;gt;';&lt;br /&gt;echo 'Request:';&lt;br /&gt;echo '&amp;lt;pre&amp;gt;',htmlspecialchars($client-&amp;gt;request,ENT_QUOTES),'&amp;lt;/pre&amp;gt;';&lt;br /&gt;echo 'Response:';&lt;br /&gt;echo '&amp;lt;pre&amp;gt;',htmlspecialchars($client-&amp;gt;response,ENT_QUOTES ),'&amp;lt;/pre&amp;gt;';&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8556364142231865481?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8556364142231865481/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/07/nusoapweb-service.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8556364142231865481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8556364142231865481'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/07/nusoapweb-service.html' title='使用nusoap建立web service-範例'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1513741775197681201</id><published>2009-06-29T03:32:00.000-07:00</published><updated>2009-06-29T03:46:20.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>fsockopen穿越proxy-以台灣簡訊為例</title><content type='html'>fsocjopen 可以跟伺服器主機連線，只要知道IP、port 就好，但容易遇到的問題是，萬一讀取網頁時是靠proxy來達成的時候，那該怎麼做呢?&lt;br /&gt;&lt;br /&gt;其實，一樣可以用fsockopen，但我們連線到proxy，在直接下指令給proxy即可&lt;br /&gt;下面範例是在作專題時，使用台灣簡訊來發送客製化簡訊，欲到的proxy是中原大學的proxy.cycu.edu.tw  port:3128&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;?&lt;br /&gt;    $username = &amp;quot;xx&amp;quot;; // &amp;#24115;&amp;#34399;&lt;br /&gt;    $password = &amp;quot;xx&amp;quot;; // &amp;#23494;&amp;#30908;&lt;br /&gt;    $type = &amp;quot;now&amp;quot;; // &amp;#30332;&amp;#36865;&amp;#22411;&amp;#24907;&lt;br /&gt;    $mobile = &amp;quot;0988xxxxxx&amp;quot;; // &amp;#38651;&amp;#35441;&lt;br /&gt;    $message = &amp;quot;&amp;#31777;&amp;#35338;&amp;#28204;&amp;#35430;&amp;#21908;&amp;quot;; // &amp;#31777;&amp;#35338;&amp;#20839;&amp;#23481;&lt;br /&gt;    $encoding = &amp;quot;big5&amp;quot;; // &amp;#31777;&amp;#35338;&amp;#20839;&amp;#23481;&amp;#32232;&amp;#30908;&lt;br /&gt;    $popup = &amp;quot;&amp;quot;; // &amp;#20351;&amp;#29992; POPUP &amp;#39023;&amp;#31034;&lt;br /&gt;    $mo = &amp;quot;&amp;quot;; // &amp;#20351;&amp;#29992;&amp;#38617;&amp;#21521;&amp;#31777;&amp;#35338;&lt;br /&gt;    $vldtime = &amp;quot;86400&amp;quot;; // &amp;#31777;&amp;#35338;&amp;#26377;&amp;#25928;&amp;#26399;&amp;#38480;&lt;br /&gt;    $dlvtime = &amp;quot;&amp;quot;; // &amp;#38928;&amp;#32004;&amp;#26178;&amp;#38291;&lt;br /&gt;    $MSGData = &amp;quot;&amp;quot;;&lt;br /&gt;    $msg =&lt;br /&gt;    &amp;quot;username=&amp;quot;.$username.&amp;quot;&amp;amp;password=&amp;quot;.$password.&amp;quot;&amp;amp;type=&amp;quot;.$type.&amp;quot;&amp;amp;encoding=&amp;quot;.$encoding.&amp;quot;&amp;amp;popup=&amp;quot;.$popup.&amp;quot;&amp;amp;m&lt;br /&gt;    o=&amp;quot;.$mo.&amp;quot;&amp;amp;mobile=&amp;quot;.$mobile.&amp;quot;&amp;amp;message=&amp;quot;.urlencode($message).&amp;quot;&amp;amp;vldtime=&amp;quot;.$vldtime.&amp;quot;&amp;amp;dlvtime=&amp;quot;.$dlvtime;&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    $num = strlen($msg);&lt;br /&gt;    // &amp;#25171;&amp;#38283; API &amp;#38296;&amp;#36947;&lt;br /&gt;    $fp = fsockopen (&amp;quot;proxy.cycu.edu.tw&amp;quot;, 3128);&lt;br /&gt;    //    print_r($fp);&lt;br /&gt;    if ($fp) {&lt;br /&gt;    $MSGData = $MSGData.&amp;quot;POST http://211.78.23.230/send_sms.php HTTP/1.1\r\n&amp;quot;;&lt;br /&gt;    $MSGData = $MSGData.&amp;quot;Host: api.twsms.com\r\n&amp;quot;;&lt;br /&gt;    $MSGData = $MSGData.&amp;quot;Content-Length: &amp;quot;.$num.&amp;quot;\r\n&amp;quot;;&lt;br /&gt;    $MSGData = $MSGData.&amp;quot;Content-Type: application/x-www-form-urlencoded\r\n&amp;quot;;&lt;br /&gt;    $MSGData = $MSGData.&amp;quot;Connection: Close\r\n\r\n&amp;quot;;&lt;br /&gt;    $MSGData = $MSGData.$msg.&amp;quot;\r\n&amp;quot;;&lt;br /&gt;    fputs ($fp, $MSGData);&lt;br /&gt;   &lt;br /&gt;    // &amp;#21462;&amp;#20986;&amp;#22238;&amp;#20659;&amp;#20540;&lt;br /&gt;    while (!feof($fp)) $Tmp[]=fgets ($fp,128);&lt;br /&gt;   &lt;br /&gt;    // &amp;#38364;&amp;#38281;&amp;#38296;&amp;#36947;&lt;br /&gt;    fclose ($fp);&lt;br /&gt;   &lt;br /&gt;    // &amp;#39023;&amp;#31034;&amp;#22238;&amp;#20659;&amp;#20540;&lt;br /&gt;    $Respone = split(&amp;quot;:&amp;quot;,$Tmp[9]);&lt;br /&gt;    //    print_r($Tmp);&lt;br /&gt;    $Res[&amp;quot;Number&amp;quot;] = $Respone[0]; // &amp;#20659;&amp;#22238;&amp;#30908;&lt;br /&gt;    $Res[&amp;quot;OrderID&amp;quot;] = $Respone[1]; // &amp;#22914;&amp;#26524;&amp;#20659;&amp;#22238;&amp;#30908;&amp;#26159; 00 &amp;#25104;&amp;#21151;, &amp;#25165;&amp;#26371;&amp;#26377; OrderID &amp;#29986;&amp;#29983;&lt;br /&gt;    //    echo '&amp;lt;BR&amp;gt;$Res[&amp;quot;Number&amp;quot;] ='.$Res[&amp;quot;Number&amp;quot;];&lt;br /&gt;    //    echo '&amp;lt;BR&amp;gt;$Res[&amp;quot;OrderID&amp;quot;] = '.$Res[&amp;quot;OrderID&amp;quot;];&lt;br /&gt;    }&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;上面程式碼其中的&lt;span style="color: rgb(255, 255, 0);"&gt;211.78.23.230&lt;/span&gt; 是台灣簡訊的server，要注意的是&lt;br /&gt;這邊要放&lt;span style="color: rgb(255, 0, 0);"&gt; http://211.... &lt;/span&gt; 也就是絕對路徑!!&lt;br /&gt;&lt;br /&gt;此範例由台灣簡訊API提供的範例程式作修改。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1513741775197681201?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1513741775197681201/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/fsockopenproxy.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1513741775197681201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1513741775197681201'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/fsockopenproxy.html' title='fsockopen穿越proxy-以台灣簡訊為例'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1674889467885204887</id><published>2009-06-19T06:32:00.000-07:00</published><updated>2009-06-19T06:35:27.207-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP Excel PHPPowerPoint</title><content type='html'>兩個PHP class&lt;br /&gt;&lt;a title="PHPExcel" href="http://www.phpexcel.net/" target="_blank"&gt;PHPExcel&lt;/a&gt; 及  &lt;a title="PHPPowerPoint" href="http://www.phppowerpoint.net/" target="_blank"&gt;PHPPowerPoint&lt;/a&gt;。&lt;br /&gt;分別可以很簡單地透過 PHP 讀取及寫入 Excel 2007 及 PowerPoint  2007 的檔案&lt;br /&gt;&lt;a href="http://blog.linym.net/archives/229"&gt;&lt;br /&gt;用 PHP 讀寫 Excel 檔案&lt;/a&gt;  裡頭有讀取Excel的範例&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1674889467885204887?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1674889467885204887/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/php-excel-phppowerpoint.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1674889467885204887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1674889467885204887'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/php-excel-phppowerpoint.html' title='PHP Excel PHPPowerPoint'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-536874931854249192</id><published>2009-06-15T15:48:00.001-07:00</published><updated>2009-06-15T15:51:19.288-07:00</updated><title type='text'></title><content type='html'>http://msdn.microsoft.com/en-us/library/bb202077.aspx&lt;br /&gt;&lt;br /&gt;http://msdn.microsoft.com/zh-tw/library/bb278115.aspx&lt;br /&gt;&lt;br /&gt;http://msdn.microsoft.com/en-us/library/bb202066.aspx&lt;br /&gt;&lt;br /&gt;http://msdn.microsoft.com/en-us/library/bb202041.aspx&lt;br /&gt;&lt;br /&gt;http://msdn.microsoft.com/en-us/library/bb202016.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-536874931854249192?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/536874931854249192/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/httpmsdn.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/536874931854249192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/536874931854249192'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/httpmsdn.html' title=''/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8549387788416819104</id><published>2009-06-10T03:48:00.000-07:00</published><updated>2009-06-10T04:01:21.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>在IE與FF的一些設計限制</title><content type='html'>&lt;a href="http://support.microsoft.com/kb/239832/zh-tw"&gt;PRB： 錯誤設定 table.innerHTML 在 Internet Explorer 中&lt;/a&gt;&lt;br /&gt;table 的限制，在不同瀏覽器中的問題較大，需要另外處理~&lt;br /&gt;&lt;br /&gt;IE中Table、 thead、tbody的innerHTML屬性是唯讀的!!&lt;br /&gt;若用 &lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;document.getElementById("tablename").innerHTML = "XXXXX" ;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; IE就會跳出「執行階段錯誤」....     ~~&lt;br /&gt;&lt;br /&gt;另外要注意的是 table與 tr標籤元素，不能用innerHTML方式賦值，但.. td標籤是可以的喔!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8549387788416819104?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8549387788416819104/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/ieff.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8549387788416819104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8549387788416819104'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/ieff.html' title='在IE與FF的一些設計限制'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-9029671757454999803</id><published>2009-06-10T01:44:00.000-07:00</published><updated>2009-06-10T03:47:14.130-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>在IE與FF的一些設計限制(設定css屬性、註冊事件、checkbox)</title><content type='html'>在FF與其他瀏覽器(不含IE)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;1.&lt;/span&gt;若要&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:130%;" &gt;設定元素的class屬性&lt;/span&gt;，可以用 setAttribute方法來設定，如下&lt;br /&gt;var inputElmt = document.createElement('input');&lt;br /&gt;inputElmt.setAttribute('class', 'column');&lt;br /&gt;&lt;br /&gt;但IE不吃這套，而吃 className 屬性名稱，如下&lt;br /&gt;inputElmt.setAttribute('className', 'column');&lt;br /&gt;&lt;br /&gt;所以 ~完整解決方法&lt;br /&gt;var inputElmt = document.createElement('input');&lt;br /&gt;inputElmt.setAttribute('className', 'column');　&lt;br /&gt;inputElmt.setAttribute('class', 'column');&lt;br /&gt;&lt;br /&gt;寫上兩個～不需要另外辨別瀏覽器！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;2.&lt;/span&gt;若要為其&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:130%;" &gt;加入事件&lt;/span&gt;&lt;br /&gt;if(document.all)　//for IE&lt;br /&gt;   {&lt;br /&gt;              inputElmt.onclick = function(){         pantosetedArea(this.value) ;              };&lt;br /&gt;   }&lt;br /&gt;   else inputElmt.setAttribute('onClick', "pantosetedArea(this.value)");  &lt;br /&gt;&lt;br /&gt;其中pantosetedArea（參數）是自訂函式&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;3.&lt;/span&gt;另外，若要&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:130%;" &gt;產生預設勾選的checkbox&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;function createInputcheck(elmtName,elmtValue) {&lt;br /&gt;&lt;br /&gt;      elmtName = elmtName ? elmtName : '';&lt;br /&gt;      elmtValue = elmtValue ? elmtValue : 'yes';&lt;br /&gt;      var ischecked = (elmtValue=='0')? "false" : "true" ;&lt;br /&gt;&lt;br /&gt;      var inputElmt = document.createElement('input');&lt;br /&gt;      inputElmt.setAttribute('type', 'checkbox');&lt;br /&gt;   inputElmt.setAttribute('name', elmtName);&lt;br /&gt;   inputElmt.setAttribute('value', elmtValue);&lt;br /&gt;   if(elmtValue=="yes") inputElmt.setAttribute('checked', ischecked);&lt;br /&gt;   inputElmt.setAttribute('onClick', "checkSMS(this)")&lt;br /&gt;   inputElmt.setAttribute('class', 'column');&lt;br /&gt;   return inputElmt;&lt;br /&gt;}&lt;br /&gt;var sendSMSInput = createInputcheck('sSMS');&lt;br /&gt;var contentTdM = document.createElement('td');&lt;br /&gt;       contentTdM.appendChild(sendSMSInput);&lt;br /&gt;&lt;br /&gt;var contentTr = document.createElement('tr');&lt;br /&gt;       contentTr.appendChild( contentTdM );&lt;br /&gt;&lt;br /&gt;sendSMSInput.setAttribute('checked', true);&lt;br /&gt;&lt;br /&gt;在FF中，函式中的此行 if(elmtValue=="yes") inputElmt.setAttribute('checked', ischecked);會馬上成立，但在IE中，要為checkbox 賦值，必須等到 appendchild後才可以操作checkbox 賦值&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-9029671757454999803?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/9029671757454999803/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/ieffcsscheckbox.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9029671757454999803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9029671757454999803'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/ieffcsscheckbox.html' title='在IE與FF的一些設計限制(設定css屬性、註冊事件、checkbox)'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1954657305904110585</id><published>2009-06-06T04:47:00.000-07:00</published><updated>2009-06-06T04:50:20.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascript 陷阱</title><content type='html'>當form裡頭有 sunmit按鈕時  如下&lt;br /&gt;&lt;input name="ready" id="ready" type="button" value="送出" onclick="document.form1.submit()"&gt;&lt;input type="submit" value="輸出" name="submit" align="center"&gt;&lt;br /&gt;&lt;br /&gt;從外部函式觸發送出~ document.gegister.submit()&lt;br /&gt;&lt;br /&gt;會發生 document.form.submit() is not a function 的錯誤~&lt;br /&gt;解決方法就是把form裡頭的 submit弄掉就行了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1954657305904110585?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1954657305904110585/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/javascript.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1954657305904110585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1954657305904110585'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/06/javascript.html' title='javascript 陷阱'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2369943067120422112</id><published>2009-05-28T02:48:00.000-07:00</published><updated>2009-05-28T07:32:08.935-07:00</updated><title type='text'>必讀 PHP 設計</title><content type='html'>&lt;a href="http://www.jaceju.net/resources/webmvc/"&gt;透視 WebMVC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://www.php.net/manual/en/language.oop5.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2369943067120422112?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2369943067120422112/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/05/php.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2369943067120422112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2369943067120422112'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/05/php.html' title='必讀 PHP 設計'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5653484491255245970</id><published>2009-05-21T13:31:00.000-07:00</published><updated>2009-05-21T13:38:24.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>使用NuSOAP建構webservice</title><content type='html'>&lt;a href="http://blog.chinaunix.net/u3/94356/showart_1902040.html"&gt;&lt;span style="color: rgb(41, 82, 0);font-size:14;" &gt;&lt;b&gt;NuSOAP的使用说明&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://www.phpq.net/tutorial/nusoap.html"&gt;NuSOAP教程&lt;/a&gt;&lt;/h1&gt;http://www.phpq.net/tag/NuSOAP/&lt;br /&gt;&lt;br /&gt;http://www.shanghuo.net/?action=show&amp;amp;id=51&lt;br /&gt;&lt;br /&gt;使用C#叫用PHP寫的webservice&lt;br /&gt;http://www.sanity-free.org/125/php_webservices_and_csharp_dotnet_soap_clients.html&lt;br /&gt;&lt;br /&gt;&lt;h2 class="posttitle"&gt;&lt;a href="http://www.samtseng.liho.tw/%7Esamtz/blog/?p=1474" rel="bookmark" title="Permanent Link to php SOAP 簡單的示範"&gt;php SOAP 簡單的示範&lt;/a&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5653484491255245970?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5653484491255245970/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/05/nusoapwebservice.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5653484491255245970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5653484491255245970'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/05/nusoapwebservice.html' title='使用NuSOAP建構webservice'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4488809027633862260</id><published>2009-05-18T02:10:00.000-07:00</published><updated>2009-05-18T03:25:20.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>在IE與其他瀏覽器中動態設定class屬性</title><content type='html'>有時候需要動態改變元素的class屬性&lt;br /&gt;例如~ 點選完月曆日期連結後，要顯示點選日期的背景顏色~&lt;br /&gt;&lt;br /&gt;Firefox中通常使用&lt;br /&gt;var element = document.getElementById("elementID")&lt;br /&gt;element.setAttribute("class","styleClass") ;&lt;br /&gt;就可以了~ 但IE與Firefox中設定的方式有差異喔~&lt;br /&gt;&lt;br /&gt;在IE中要用&lt;br /&gt;element.setAttribute("className","styleClass");&lt;br /&gt;因為IE只識別 " className"~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4488809027633862260?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4488809027633862260/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/05/ieclass.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4488809027633862260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4488809027633862260'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/05/ieclass.html' title='在IE與其他瀏覽器中動態設定class屬性'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4714826916300957992</id><published>2009-04-22T00:43:00.000-07:00</published><updated>2009-04-22T00:56:20.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>各大瀏覽器 javascript引擎比較</title><content type='html'>2008年，Javascript引擎逐漸成為流覽器領域的競爭焦點。&lt;br /&gt;Webkit6月發佈了SquirrelFish引擎，然後SquirrelFish Extreme也出現。&lt;br /&gt;Firefox8月發佈了TraceMonkey，&lt;br /&gt;Google9月隨Chrome發佈了V8，&lt;br /&gt;Opera的Futhark以及今年2月發佈了Carakan，&lt;br /&gt;3月蘋果在Safari 4 beta中發佈了Nitro引擎。 &lt;br /&gt;IE 的Trident（MSHTML）於於四月發佈JavaScript5.8 (http://www.ithome.com.tw/itadm/article.php?c=54457)&lt;br /&gt;&lt;br /&gt;性能比較&lt;br /&gt;http://www.fwvv.net/info/2008/09/05/20080905-67045.shtml&lt;br /&gt;http://pingyeh.blogspot.com/2008/09/google-chrome.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4714826916300957992?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4714826916300957992/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_22.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4714826916300957992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4714826916300957992'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_22.html' title='各大瀏覽器 javascript引擎比較'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8303872047143116249</id><published>2009-04-17T14:18:00.000-07:00</published><updated>2009-04-17T14:39:42.086-07:00</updated><title type='text'>暫存</title><content type='html'>&lt;h1 class="title_txt"&gt;&lt;a href="http://blog.csdn.net/skyaspnet/archive/2008/07/14/2651309.aspx"&gt;ASP/ASP.NET/PHP 的選擇&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;利用微软WebService技术实现远程&lt;a href="http://db.rdxx.com/" target="_blank"&gt;数据库&lt;/a&gt;存取 利用web服务在不同站点间共享同一数据库&lt;/h1&gt;&lt;br /&gt;http://dev.rdxx.com/NET/Services/2001-9/10/10313281_2.shtml&lt;br /&gt;http://dev.rdxx.com/NET/Services/2001-2/8/103035767.shtml&lt;br /&gt;&lt;br /&gt;&lt;h1 class="subject" style=""&gt;&lt;a href="http://beniao.blog.51cto.com/389148/104186"&gt;&lt;b&gt;&lt;b&gt;ASP.NET MVC中使用ASP.NET AJAX异步访问WebService&lt;/b&gt;&lt;/b&gt;&lt;/a&gt;&lt;/h1&gt;http://www.zxbc.cn/html/webservice/index_15.html&lt;br /&gt;http://blog.williamgates.biz/category/tech/webservice/http://dob.tnc.edu.tw/themes/old/showPage.php?s=2369&amp;amp;t=298&lt;br /&gt;http://www.google.com.tw/search?q=.net%E4%B8%8B%E5%AD%98%E5%8F%96php+webservice&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW319TW319&amp;amp;start=30&amp;amp;sa=N&lt;br /&gt;&lt;br /&gt;http://www.google.com.tw/search?q=C/S+webservice+linux&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW319TW319&amp;amp;start=10&amp;amp;sa=N&lt;br /&gt;&lt;br /&gt;http://www.google.com.tw/search?q=%E5%8F%96%E4%BB%A3webservice&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW319TW319&amp;amp;start=20&amp;amp;sa=N&lt;br /&gt;&lt;br /&gt;&lt;a id="viewpost1_TitleUrl" href="http://www.blogjava.net/mmwy/archive/2007/03/19/104743.html"&gt;win2003上iis与tomcat的整合&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://read.newbooks.com.cn/info/158555.html"&gt;web server and web service&lt;/a&gt;&lt;/h1&gt;&lt;a href="http://dev.21tx.com/2003/07/12/15005.html"&gt;WebService初探（推荐）〔开心本人特别看好WebService〕&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://translate.google.com/translate?hl=zh-TW&amp;amp;u=http%3A%2F%2Fwww0.ccidnet.com%2Ftech%2Fguide%2F2001%2F11%2F01%2F58_3584.html"&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="title"&gt;什麼是Web Service&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8303872047143116249?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8303872047143116249/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_17.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8303872047143116249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8303872047143116249'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_17.html' title='暫存'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4108935226244161144</id><published>2009-04-17T14:13:00.000-07:00</published><updated>2009-04-17T14:14:56.236-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='額外閱讀'/><category scheme='http://www.blogger.com/atom/ns#' term='程式不相干'/><title type='text'>整合也可是IT簡單任務?</title><content type='html'>&lt;div align="left"&gt;ref: http://bilingual.rdec.gov.tw/KM/KM/prog/epaper/23/index.php&lt;br /&gt;&lt;/div&gt;                                           &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;             &lt;/table&gt;                                                                                &lt;p&gt;【資料來源： 台灣微軟產品行銷經理 許建志　2004/06/25】&lt;/p&gt;                   &lt;p&gt; 整合概念看似簡單，真正實作可不是如此。或許你建立的一個Java Web service，只要再利用ASP.NET呼叫這個Web                      service，就可輕鬆將Hello World字串傳送過去。剛開始你也許會覺得很感動，但很快的…，就會發現企業應用程式所面對資料型別的複雜性，根本不是簡單的一個小範例可處理的。                    &lt;/p&gt;                   &lt;p&gt;不論是考慮整合.NET與J2EE的技術選項，或是計畫利用第三方協力廠商所開發的整合軟體進行互通，入門第一堂課就必須了解－在不同平台與應用程式的展示層、中介層與資料層之間，資料是如何傳遞的。                    &lt;/p&gt;                   &lt;p&gt;在異質平台之間進行資料交換通常會面對的挑戰可分成三大類，基本上多是資料相容性的問題，包括：&lt;/p&gt;                   &lt;ul&gt;&lt;li&gt; &lt;strong&gt;基本資料型別的對應：&lt;/strong&gt;不論是.NET的Common Language Runtime（CLR），還是Java都有字串的資料型別，但這是否代表CLR的System.String類別等同於Java的java.lang.string類別？                      &lt;/li&gt;&lt;/ul&gt;                   &lt;ul&gt;&lt;li&gt;&lt;strong&gt;不存在的資料型別：&lt;/strong&gt;基本資料型別之外，不同平台也會有特殊的資料型別，而需完成資料對應的動作。舉例來說，是不可能在Java中找到內建且可對應至CLR的System.Collections.Specialized.HybridDictionary等資料型別。                      &lt;/li&gt;&lt;/ul&gt;                   &lt;ul&gt;&lt;li&gt;&lt;strong&gt;複雜的資料型別：&lt;/strong&gt;許多應用程式都會將基本資料型別組合成自訂化的資料型別，也許是客戶資料、股票資料等；若是客戶資料則可能包含客戶名稱、地址、電話、年齡等資訊，又該如何在其他平台上處理這些自訂化的資料型別呢？                      &lt;/li&gt;&lt;/ul&gt;                   &lt;p&gt;最後一種狀況也是最常見且困難度最高的整合挑戰。一般而言，要進行複雜資料型別的資料交換工作，常見方式是「序列化」（Serialization）。&lt;/p&gt;                   &lt;p&gt; 所謂序列化，就是將某物件或類別，編碼成可儲存、傳輸的格式。如此一來，資料便可以被編碼、儲存、傳輸與解碼，並可被不同的應用程式與平台使用。&lt;/p&gt;                   &lt;p&gt; 序列化可分為兩種方式。一種是「&lt;strong&gt;二進位序列化&lt;/strong&gt;」。不論是.NET的[Serializable]                      屬性或實作的ISerializable介面，還是java.lang.Serializable，都支援將任何資料型別序列化的功能。然而壞消息是：兩大平台所序列化的格式不同，無法整合。                    &lt;/p&gt;                   &lt;p&gt;開發人員除自行建立可讓不同平台資料格式進行共通的序列子之外，第二種選擇就是如前幾期文章所提及－利用第三方廠商所開發的整合工具，如Intrinsyc                      Ja.NET，這類工具都包含支援不同平台資料交換的序列子。&lt;/p&gt;                   &lt;p&gt;&lt;br /&gt;                    第二種方式是「&lt;strong&gt;XML序列化&lt;/strong&gt;」。利用XML進行資料交換，可享有支援多種異質平台的好處。自行解析XML是一個方法，但效率較低，也不易驗證符合企業商業邏輯的資料格式。&lt;/p&gt;                   &lt;p&gt;幸運的是，包括.NET與Java平台都已將XML的存取技術進一步得抽象化，同時可支援序列化。換句話說，開發人員可在Java平台上使用Mind                      Electri公司的XML序列子，或是利用.NET的System.Xml.Serialization.XmlSerializer類別。&lt;/p&gt;                   &lt;p&gt;&lt;br /&gt;                    開發工具如Visual Studio .NET，或是Mind Electric的Electric XML也多已支援可以視覺化方式建立XSD（XML                      Schema Definition），同時產生對應程式類別的功能。目前看來，排除第三協力廠商內建的序列機制之外，開發者自行建立XSD，再搭配XML序列化，將會是進行資料交換最容易的方式。                    &lt;/p&gt;                   &lt;p&gt;以下介紹是利用Web services進行資料交換的幾個進階範例，包括介面整合、資料整合、流程整合等應用。 &lt;/p&gt;                   &lt;p&gt;&lt;strong&gt;&lt;span style="color:#ff9900;"&gt;介面整合&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt;                   &lt;p&gt;企 業主管或是知識工作者所注重的資訊，通常來自多種不同的企業解決方案，甚或不同的平台。將這些不同的資訊來源整合顯示是最簡單的方式。例如 Longhorn或是MSN Explorer便會在桌面右方提供「儀表板」，可透過Web services與其他相關技術同步顯示，提供包括氣象、交通狀況、即時傳訊的聯絡人清單、行事曆、股票等資訊。當然不只一般的Windows程式，從企 業入口網站（EIP）的發展也可看到類似的應用，透過Web Part的技術，將可利用XML或Web services整合不同來源的資訊介面。 &lt;/p&gt;                   &lt;p&gt;&lt;br /&gt;                    &lt;strong&gt;&lt;span style="color:#ff9900;"&gt;資料整合&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;                   &lt;p&gt; 英瑞得（Gismosoft）所開發的商業智慧行動解決方案就是一種典型的資料整合應用。該公司計畫在Pocket PC中同時顯示營運資料與地理位置整合的介面，必須整合地圖系統與商業智慧資料倉儲中的資訊。                    &lt;/p&gt;                   &lt;p&gt;由於不可能要求客戶自行維護一套價值數百萬的地圖系統，客戶也不可能將業務資訊輕易的由開發廠商處理，同時間，又要兼顧行動裝置的應用。&lt;/p&gt;                   &lt;p&gt; 最佳的方式就是將地圖系統、營運資料全部Web services化。前者位於開發商的伺服器上，後者位於客戶的伺服器。Pocket                      PC透過GPRS與Web services擷取雙邊資訊，再進行交叉比對，最後呈現的便是具備地理資訊的商業智慧系統。                    &lt;/p&gt;                   &lt;p&gt;單純的利用Web services將不同平台與企業解決方案裡的資料挖取出來，再整合顯示固然不錯，但是若能更進一步的將不同來源的資料進行交叉比對，將會產生許多機會與應用。如微軟，組織內部有一套供予銷售人員存取的Sales                      Portal，內建許多Web Part，其中就有個名為「News in My Accounts」（跟我客戶相關的新聞）。                    &lt;/p&gt;                   &lt;p&gt;該系統可在銷售人員存取Sales Portal時，自動辨識出銷售人員身份，同時利用Web services取出內部Siebel                      CRM系統裡的客戶清單，再透過Web services與MS Library（新聞系統）進行交叉比對，所得應用就是可大幅減少銷售人員閱讀新聞時間的「News                      in My Accounts」。 &lt;/p&gt;                   &lt;p&gt;可以簡單的計算一下，如果全球每天有五千個銷售人員存取這系統，每天減少一小時的時間尋找與客戶相關的新聞，不只可以即時掌握客戶狀況，整體省下的時間成本也相當可觀。                    &lt;/p&gt;                   &lt;p&gt;&lt;strong&gt;&lt;span style="color:#ff9900;"&gt;流程整合 &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;                   &lt;p&gt;可分析的不只是現在與過去的資訊，整合不同資料來源之後的分析數據，甚至可以取得營運趨勢或是客戶行為預測的「領先指標」。一旦發現所要注意的現象與趨勢，最後甚至還可以觸發「行為」，也就是進行所謂的流程整合。&lt;/p&gt;                   &lt;p&gt; 電子商務網站應用，甚可以將不同系統中的客戶資料（CRM）、銷售資料（ERP）與客戶瀏覽習性進行交叉比對，進而辨識出新的商業機會，同時開始運作流程，將相對應的促銷商品、不同網站或網友的評價、運費等資訊自動整合成為個人化促銷郵件遞送給予相關客戶。&lt;/p&gt;                    利用Web services進行整合工作而後衍生的應用可能，充滿想像空間，就留待各位發展創意。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4108935226244161144?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4108935226244161144/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/it.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4108935226244161144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4108935226244161144'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/it.html' title='整合也可是IT簡單任務?'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8483184809096467672</id><published>2009-04-17T10:21:00.000-07:00</published><updated>2009-04-17T14:13:10.940-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫存'/><category scheme='http://www.blogger.com/atom/ns#' term='論文'/><title type='text'>WEB SERVICE</title><content type='html'>webservice是一概念&lt;br /&gt;socket是一種協議&lt;br /&gt;&lt;br /&gt;socket用於底層的數據傳輸 2進制的數據傳輸&lt;br /&gt;HTTP也是協議 傳輸的是HTML文本&lt;br /&gt;SOAP是一種基於HTTP的協議 常用於實現webservice數據傳輸&lt;br /&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;WebService的優點在於：&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; 1、跨平台&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;2、使用XML&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;3、可穿過防火牆&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; 4、技術難度比CORBA小得多&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;5、低成本實現&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; 6、也可用於C/S結構&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;缺點：&lt;/span&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;效率比CORBA、Socket低&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;數據量較大&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;webservice 就是個對外的接口,裡面有函數可供外部客戶調用(注意:裡面同樣有客戶不可調用的函數).假若我們是服務端,我們寫好了個webservice,然後把它給了客戶(同時我們給了他們調用規則),客戶就可以在從服務端獲取信息時處於一個相對透明的狀態.即是客戶不了解(也不需要)其過程,他們只獲取數據.&lt;br /&gt;&lt;br /&gt;webservice傳遞的數據只能是序列化的數據,典型的就是xml數據,這裡我們也只討論xml數據的傳輸.&lt;br /&gt;&lt;br /&gt;這個函數就是外部可調用的接口函數,對用戶來說相當於一個API.如果某用戶在引用了這個服務後,他調用HelloWorld()方法,他就將獲得"HelloWorld"這個返回值.&lt;br /&gt;其實webservice並不是那麼的神秘,它也不過只是個接口,對我們而言,側重點依然是接口函數的編寫.下面,我將給出我們的例子所需要的接口函數.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;網路上看到的問題，可以釐清一些觀念&lt;br /&gt;&lt;br /&gt;Q: 用C#在本機做好的WEBSERVICE服務要佈屬到其他機器上運行，運行的機器一定要安裝.NET嗎？&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;把目錄COPY到SERVER後訪問該SERVICE.ASMX，只顯示&lt;%@ WebService Language="c#" Codebehind="Service1.asmx.cs" Class="WebService1.Service1" %&gt;，&lt;/span&gt; &lt;span style="background-color: rgb(230, 236, 249);" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A:必需安裝.net Framework。&lt;br /&gt;Q: C#不是可以跨平台運行嗎？ 為什麼就一定要裝.net Framework框架呢？&lt;br /&gt;   那用.net Framework框架寫的WEBSERVICE可以在LINUX上運行嗎？&lt;br /&gt;A:編譯為DLL，就可以了&lt;br /&gt;A: C#的跨平台，是建立在.net Framework的支持上的，沒有.net frameWork的支持，c#什麼也做不了&lt;br /&gt;所以，C#寫的程序必須在安裝了.net framework上運行&lt;br /&gt;由於現在還沒有在LINUX上的.net framework&lt;br /&gt;所以，C#寫的程序，是不可能在LINUX下運行的&lt;br /&gt;不過，Web Service是一項Web服務，並不是在你本機上運行&lt;br /&gt;因此，你的Web Service配置在支持.net framework的機器上&lt;br /&gt;在LINUX下調用這個web service是可以的&lt;br /&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;特殊需求，需要在linux下運行.NET的web服務，不知有什麼解決方案。&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;另外，IIS能用mono在linux下跑成功吗？&lt;/span&gt;另外，IIS能用mono在linux下跑成功嗎？&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;不知道你的Linux是哪個發行商的，&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Ubuntu Linux上可安裝libapache2-mod-module&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;其實這就是Apache的MONO模塊，安裝了以後應該就可以跑ASP.NET了。&lt;/span&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;不過我沒試過在Linux上使用ASP.NET請你自己試試。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;這兒是Mod_MONO的項目主頁：&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;a href="http://72.14.203.132/translate_c?hl=zh-TW&amp;amp;u=http://www.mono-project.com/Mod_mono&amp;amp;usg=ALkJrhhjS2i_QELS3ix42HawX9d_pI38Iw" target="_blank"&gt;http://www.mono-project.com/Mod_mono&lt;/a&gt;&lt;/span&gt; &lt;a href="http://72.14.203.132/translate_c?hl=zh-TW&amp;amp;u=http://www.mono-project.com/Mod_mono&amp;amp;usg=ALkJrhhjS2i_QELS3ix42HawX9d_pI38Iw" target="_blank"&gt;http://www.mono-project.com/Mod_mono&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;linux下有mono項目，可以在linux下跑.net，不管是c/s還是b/s，都可以簡單移植過去。&lt;br /&gt;http://www.mono-project.com/Main_Page&lt;br /&gt;这是官方网站，要想在linux下跑.net可以装这个。 這是官方網站，要想在linux下跑.net可以裝這個。&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://www.pudn.com/downloads111/sourcecode/windows/system/detail458621.html" target="_blank"&gt;RemObjects_SDK.rar&lt;/a&gt;] - 利用RemObjects SDK创建的客户和服务器应用程序可以容易的通过网络相互通讯。  RemObjects SDK可提供.NET和Delphi版本，带来一个创建分布式应用的快速方法，利用Service Builder简单的建模您的服务器接口，Service Tester用于性能和稳定性测试，并可&lt;br /&gt;&lt;br /&gt;&lt;a href="http://topic.csdn.net/t/20050607/13/4065362.html"&gt;在linux下用C或C++访问Web Service的资料&lt;br /&gt;gSOAP:   Generator   Tools   for   Coding   SOAP/XML   Web   Services   in   C   and   C++ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/taiwan/community/Developer_TechTalk_Q&amp;amp;A_20040211.htm"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 113, 178);"&gt;2 月 11 日&lt;/span&gt;&lt;span style="color: rgb(2, 97, 185);"&gt;「微軟線上專家對談」主題：                  以 Web services 實現應用程式整合&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cnblogs.com/farrah/archive/2009/04/03/1429099.html"&gt;开发，配置，调用-三步走构建简单的asp.net webservice（C#）-适合初学者阅读&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;據說delphi可以將Web Service編譯成dll,放在IIS下可運行,是不是這樣?&lt;br /&gt;&lt;br /&gt;Socket提供了进程通信的端点,最重要的是，socket 是面向客户/服务器模型而设计的，针对客户和服务器程序提供不同的socket 系统调用。Socket 接口是访问 Internet 使用得最广泛的方法。&lt;br /&gt;Remoting是一种分布式处理方式。在Remoting中是通过通道（channel）来实现两个应用程序域之间对象的通信的。&lt;br /&gt;Web services是建立可互操作的分布式应用程序的新平台。Web service 从表面上看，就是一个应用程序，它向外界暴露出一个能够通过Web进行调用的API。这就是说，你能够用编程的方法通过Web来调用这个应用程序。&lt;br /&gt;根据微软官方的解释，WCF（之前的版本名为“Indigo”）是使用托管代码建立和运行面向服务（Service Oriented）应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案，且能与已有系统兼容协作。WCF是微软分布式 应用程序开发的集大成者，它整合了.Net平台下所有的和分布式系统有关的技术，例如.Net Remoting、ASMX、WSE和MSMQ。以通信(Communiation)范围而论，它可以跨进程、跨机器、跨子网、企业网乃至于 Internet；以宿主程序而论，可以以ASP.NET，EXE，WPF，Windows Forms，NT Service，COM+作为宿主(Host)。WCF可以支持的协议包括TCP，HTTP，跨进程以及自定义，安全模式则包括SAML， Kerberos，X509，用户/密码，自定义等多种标准与模式。也就是说，在WCF框架下，开发基于SOA的分布式系统变得容易了，微软将所有与此相 关的技术要素都包含在内，掌握了WCF，就相当于掌握了叩开SOA大门的钥匙.WCF完全可以看作是ASMX，.Net Remoting，Enterprise Service，WSE，MSMQ等技术的并集。&lt;br /&gt;&lt;br /&gt;Socket，Remoting，Enterprise Services，Web Service，WCF&lt;br /&gt;-------这些都不是通信技术...&lt;br /&gt;&lt;br /&gt;现在通信技术基本上只用TCP/IP...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.ad0.cn/netfetch/read.php/341.htm&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/Pierce/articles/181903.html"&gt;Socket模拟Http协议，读取http header，根据content-length的值，读取Http body&lt;/a&gt;&lt;/h2&gt;&lt;a href="http://phorum.study-area.org/index.php/topic,27969.msg139864.html#msg139864"&gt;[心得]在php中使用Web Service&lt;/a&gt;&lt;br /&gt;&lt;a href="http://phorum.study-area.org/index.php?PHPSESSID=69887776647bdc6df580e368c84ba554&amp;amp;topic=28121.msg140534#msg140534"&gt;&lt;img src="http://phorum.study-area.org/Themes/default/images/post/xx.gif" alt="" border="0" /&gt;&lt;/a&gt;                   &lt;div style="font-weight: bold;" id="subject_140534"&gt;           &lt;a href="http://phorum.study-area.org/index.php?PHPSESSID=69887776647bdc6df580e368c84ba554&amp;amp;topic=28121.msg140534#msg140534"&gt;[心得]使用php提供Web service&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 class="" title="随笔"&gt;&lt;a href="http://heiys.javaeye.com/blog/248811"&gt;典型的Web Service结构(转) &lt;/a&gt;&lt;/h3&gt;是否可以認為webservice是通過socket實現的？&lt;br /&gt;webservice的實現在socket層面上的解釋是：&lt;br /&gt;1、作為客戶端，調用webservice服務即是向socket服務端（80端口）發送一定格式（xml格式的？）的字符串，然後在本次socket連接中接收服務端返回的字符串？&lt;br /&gt;2、作為服務端，打開socket服務，監聽80端口，接收客戶端發來的字符串，然後向該連接返回字符串？&lt;br /&gt;&lt;br /&gt;網友回复:沒有關係！ 你那是强行将两个东西扯在一起！你那是強行將兩個東西扯在一起！ 網友回复:看這個你就明白了&lt;br /&gt;&lt;br /&gt;webservice用soap協議，soap協議只是用來封裝消息用的。 封装后的消息你可以通过各种已有的协议来传输，比如http,tcp/ip,smtp,等等封裝後的消息你可以通過各種已有的協議來傳輸，比如http,tcp/ip,smtp,等等&lt;br /&gt;http://topic.csdn.net/t/20031123/15/2485964.html http://topic.csdn.net/t/20031123/15/2485964.html&lt;br /&gt;&lt;br /&gt;網友回复:要一層一層分析它的本質，而不是只看表面現象網友回复:socket是通訊協議，web service是數據協議你可以坐火車出門，但是你不能說你是鐵路實現的網友回复:剛才學習了http://www.w3school.com.cn /webservices/ws_use.asp，截下了“華氏、攝氏溫度轉換”的通訊報文。分析了下， 我填了攝氏轉華氏，500攝氏度，結果是933.8華氏度。下面是交互的數據。&lt;br /&gt;&lt;br /&gt;       &lt;/div&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;發送：&lt;br /&gt;POST http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit&lt;br /&gt;HTTP/1.0..Accept: */*..Referer: http://www.w3school.com.cn/webservices/ws_use.asp. .Accept-Language: zh-cn..Content-Type: application/x-www-form-urlencoded..UA-CPU: x86..Proxy-Connection: Keep-Alive..User-Agent: Mozilla/4.0 (compatible ; MSIE 7.0; Windows NT 5.1; WPS; Maxthon; CIBA)..Pragma: no-cache..Content-Length: 11..Host: www.w3schools.com..Cookie: ASPSESSIONIDACCRBRCA=GMAEHIABLCIJEKEMDDKAPKAM;&lt;br /&gt;__utma=119627022.1292411626.1210746833.1210746833 .1210749095.2;&lt;br /&gt;__utmc=119627022;&lt;br /&gt;__utmz=119627022.1210746833.1.1.utmcsr=(direct) &amp;amp;brvbarutmccn=(direct) &amp;amp;brvbarutmcmd=(none)....Celsius=501&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;接收：&lt;br /&gt;HTTP/1.1 200 OK..Via: 1.1 XXXXXXXXXXX..Connection: Keep-Alive..Proxy-Connection: Keep-Alive..Content-Length: 90..Date: Wed, 14 May 2008 08:07:23 GMT. .Content-Type: text/xml;&lt;br /&gt;charset=utf-8..Server: Microsoft-IIS/6.0..MicrosoftOfficeWebServer: 5.0_Pub..X-Powered-By: ASP.NET..X-AspNet-Version: 2.0. 50727..Cache-Control: private, max-age=0.... &amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;.. &amp;lt;string xmlns="http://tempuri.org/ "&amp;gt;933.8 &amp;lt;/string&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;就這個溫度轉換的例子而言，可以看出調用webservice服務並不是“xml”格式化的字符串，服務端返回的包含有“xml”化的數據。&lt;br /&gt;這些數據理論上通過socket是可以發送和接收的，但實際上自己生成第一次發送的內容基本上是不可能的，對於接收的內容倒是可以按照要害字進行篩選。&lt;br /&gt;&lt;br /&gt;首先webservice可以通過http實現，也可以通過其他很多種協議實現，socket比http更底層，就像人和大便的關係，呵呵。&lt;br /&gt;webservice假如用http協議來實現的話，那在socket層面上的解釋是：&lt;br /&gt;客戶端調用 webservice服務，即是向socket服務端（80端口？）發送一定格式（按照http協議打包？針對501，就會有第一次的數據那麼多，想要搞明白，估計還得去研究http協議，對我是不可能的任務了）的字符串，然後在本次socket連接中接收服務端返回的字符串（字符串是將 webservice處理產生的的實際內容“933.8”經過soap協議打包，即按照xml格式處理，也就是標紅的部分，然後再經http協議處理（又包了一層網絡通訊需要的內容，不過這和soap打包的性質不一樣，soap是在數據內容層面上加上xml的格式），形成最終收到內容）&lt;br /&gt;網友回复:更正下,上面應該是:&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;接收：&lt;br /&gt;HTTP/1.1 200 OK..Via: 1.1 XXXXXXXXXXX..Connection: Keep-Alive..Proxy-Connection: Keep-Alive..Content-Length: 90..Date: Wed, 14 May 2008 08:07:23 GMT. .Content-Type: text/xml; charset=utf-8..Server: Microsoft-IIS/6.0..MicrosoftOfficeWebServer: 5.0_Pub..X-Powered-By: ASP.NET..X-AspNet-Version: 2.0. 50727..Cache-Control: private, max-age=0.... &amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;.. &amp;lt;string xmlns="http://tempuri.org/ "&amp;gt;933.8 &amp;lt;/string&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.net031.com/2008/12/net%E4%BB%A5soap%E8%B0%83%E7%94%A8php%E7%9A%84webservice/"&gt;.net以soap调用php的WebService&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8483184809096467672?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8483184809096467672/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/web-service.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8483184809096467672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8483184809096467672'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/web-service.html' title='WEB SERVICE'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7569696865138200219</id><published>2009-04-15T16:47:00.000-07:00</published><updated>2009-04-15T23:01:14.080-07:00</updated><title type='text'>javascript</title><content type='html'>http://www.kuqin.com/language/20081029/24922.html#event-handlers&lt;br /&gt;&lt;a href="http://www.dudo.org/article.asp?id=214"&gt;Yahoo!网站性能最佳体验的34条黄金守则——内容&lt;/a&gt;&lt;br /&gt;&lt;a title="Permanent Link to 網站速度提升的34種方法 Yahoo開發團隊推薦" href="http://andy.diimii.com/2009/01/%e7%b6%b2%e7%ab%99%e9%80%9f%e5%ba%a6%e6%8f%90%e5%8d%87%e7%9a%8434%e7%a8%ae%e6%96%b9%e6%b3%95-yahoo%e9%96%8b%e7%99%bc%e5%9c%98%e9%9a%8a%e6%8e%a8%e8%96%a6/" rel="bookmark"&gt;網站速度提升的34種方法 Yahoo開發團隊推薦&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://myshare.url.com.tw/tag/javascript&lt;br /&gt;&lt;a href="http://ninedns.com/Javascript/20074221808146393.html"&gt;提高：如何优化JavaScript脚本的性能&lt;/a&gt;&lt;br /&gt;連線速度&lt;br /&gt;&lt;a href="http://big5.ce.cn/gate/big5/blog.ce.cn/html/88/100188-154119.html"&gt;&lt;br /&gt;如何提高頁面響應速度&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kuqin.com/language/20081029/24922.html" target="_blank"&gt;JavaScript的陷阱&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.zol.com.cn/914/article_913810.html"&gt;&lt;span&gt; &lt;span style="font-weight: bold;"&gt;JS文件加载速度慢，让javascript加载速度显著提高&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JavaScript是怎樣讓互聯網變慢的&lt;br /&gt;本貼轉載至:http://mygaf.jack-ck.com/viewthread.php?tid=93128&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.goodman-lai.idv.tw/2008/06/firefox-3.html&lt;br /&gt;&lt;br /&gt;smartclient&lt;br /&gt;http://www.microsoft.com/taiwan/msdn/columns/mvp/200506_smartclient.htm&lt;br /&gt;&lt;br /&gt;http://www.google.com.tw/search?q=javascript+%E5%BF%AB%E5%8F%96&amp;amp;hl=zh-TW&amp;amp;rlz=1B3GGGL_zh-TWTW297TW297&amp;amp;start=10&amp;amp;sa=N&lt;br /&gt;&lt;br /&gt;http://zh.wikipedia.org/wiki/JavaScript&lt;br /&gt;&lt;br /&gt;http://funp.com/push/?tag=javascript&amp;amp;hot&amp;amp;stars=1&lt;br /&gt;&lt;br /&gt;http://blog.miniasp.com/post/2008/07/quipt-Client-side-library-caching-with-JavaScript.aspx&lt;br /&gt;&lt;br /&gt;http://funp.com/push/?tag=javascript&amp;amp;hot&amp;amp;stars=1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://bioinformatics.iis.sinica.edu.tw/GANA/_vti_bin/_vti_adm/help/1028/Publish/wsggloss.htm&lt;br /&gt;&lt;br /&gt;http://died.tw/2009/04/chrome-experiments-google.html&lt;br /&gt;&lt;br /&gt;http://lookmine.twbbs.org/2009/04/jquery-javascript.html&lt;br /&gt;&lt;br /&gt;http://blog.riaproject.com/ajax/1067.html&lt;br /&gt;&lt;br /&gt;使用即時追蹤 記憶體使用量&lt;br /&gt;FF  185,000K   每抓一次資料CPU 20  觸發事件 189,000K CPU+5&lt;br /&gt;IE   90,000K     每抓一次資料CPU 09  觸發事件 99,000K CPU+15 4-16記&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7569696865138200219?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7569696865138200219/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_1760.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7569696865138200219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7569696865138200219'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_1760.html' title='javascript'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7929422300284210343</id><published>2009-04-15T08:58:00.000-07:00</published><updated>2009-04-15T09:03:28.243-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='必取之'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><title type='text'>技術文章:學習javascript必看</title><content type='html'>&lt;a href="http://msdn.microsoft.com/zh-tw/magazine/cc163419.aspx"&gt;使用物件導向技術來建立進階 Web 應用程式&lt;/a&gt;&lt;br /&gt;&lt;span class="CodeDownloadText"&gt;本文探討:         &lt;/span&gt;               &lt;ul&gt;&lt;li class="ListingBullet"&gt;JavaScript 為一原型語言&lt;/li&gt;&lt;li class="ListingBullet"&gt;使用 JavaScript 設計物件導向程式&lt;/li&gt;&lt;li class="ListingBullet"&gt;JavaScript 的程式設計技巧&lt;/li&gt;&lt;li class="ListingBullet"&gt;JavaScript 的未來&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;參考&lt;br /&gt;&lt;h3 class="post-title entry-title"&gt;&lt;a href="http://nervstudio.blogspot.com/2007/02/ajaj-php-json-javascript.html"&gt;AJAJ, PHP JSON Javascript&lt;/a&gt;&lt;/h3&gt;javascript裡物件還有陣列(js的陣列其實也是物件)的一種簡略表示方法-&gt;JSON&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7929422300284210343?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7929422300284210343/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_15.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7929422300284210343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7929422300284210343'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_15.html' title='技術文章:學習javascript必看'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8839694275126731728</id><published>2009-04-13T07:20:00.000-07:00</published><updated>2009-04-13T21:00:38.384-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><title type='text'>暫存-javascript記憶體管理</title><content type='html'>開完會~對記憶體部分有了一點消息&lt;br /&gt;在開會時分別用 FF 與 IE demo系統 發現&lt;br /&gt;兩者CPU都衝到50% 記憶體 IE:130,000  FF:55,000&lt;br /&gt;執行時 IE明顯被打垮了&lt;br /&gt;&lt;br /&gt;詢問後~&lt;br /&gt;萍華兄:FF 原本就對javascript支援度高，IE..不適合跑過多javascript ，建議用PHP ，但..GMAP 用javascript寫的，也沒辦法改，試試刪除物件吧~ 怎麼刪 .. 我也不清楚 &gt;&lt;  現在找到的資料.. &lt;a href="http://dob.tnc.edu.tw/themes/old/showPage.php?s=3798&amp;amp;t=6"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Java Script∕節省記憶體 for IE6.0&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;太多的程式碼同時載入會浪費記憶體嗎？&lt;br /&gt;其實在＜script language="javascript"＞...＜/script＞內的程式碼，執行過之後便沒用了，但內裏的程式碼卻保留在系統之中，這樣實在太浪 費記憶體了。本單元的程式碼可令網頁載入後消掉一些沒用的程式敘述，可讓網頁走得更暢快，非常適合一些大量使用 JavaScript 的網頁&lt;/blockquote&gt;輕量級JAVASCRIPT編輯器 :  1st JavaScript Editor&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.pchome.com.tw/magazine/report/ct/Advance/350/9/122279040017173031007.htm"&gt;&lt;span id="iCliCK_SafeGuard"&gt;深入研究Google瀏覽器&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;有幾張漂亮的數據圖&lt;br /&gt;CSS測試是用http://www.howtocreate.co.uk/csstest.html的測試網頁。&lt;br /&gt;JavaScript測試是用Celtic Kane所寫的測試程式（http://celtickane.com/webdesign/jsspeed2007.php）。&lt;br /&gt;記憶體測試時，先開啟十個資料量很大的網頁，再用Google Chrome的about:memory指令查看記憶體用量。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.yam.com/tsukumo/article/9592689"&gt;AJAX七項原罪&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;新增程式方法&lt;br /&gt;&lt;a href="http://realazy.org/blog/2008/04/22/javascript-memoization/"&gt;JavaScript Memoization&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;參考&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/forums/zh-TW/236/thread/31026d68-62e2-4622-8555-a9f0b55c7aef/"&gt;Ajax記憶體無法釋放&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google新開發的原生用戶端(&lt;span style="color: rgb(255, 0, 0);"&gt;Native Client&lt;/span&gt;)軟體--這項研究計畫宣稱，可讓架構在網路上的&lt;br /&gt;軟體跑起來幾乎像在電腦上執行一樣快&lt;br /&gt;&lt;br /&gt;javascript引擎 Chrome的V8和Mozilla的TraceMonkey&lt;br /&gt;SunSpider 是一個javascript測試網站&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/04/09/javascript-anonymous-function-memory-issue.aspx"&gt;KB-Javascript Anonymous Function Memory Issue&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;探討 程式寫法&lt;br /&gt;http://forum.moztw.org/viewtopic.php?t=18498&lt;br /&gt;http://blog.xuite.net/vexed/tech/22697513&lt;br /&gt;&lt;br /&gt;http://fillano.blog.ithome.com.tw/post/257/11011&lt;br /&gt;http://o-asp.com/Art/Show.asp?id=3945  要註冊&lt;br /&gt;&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;4/14 撿到寶了&lt;br /&gt;&lt;h2&gt;Reducing Browser Memory Leaks&lt;/h2&gt;  &lt;p&gt;The Google Maps API encourages the use of  &lt;a href="http://jibbering.com/faq/faq_notes/closures.html" rel="nofollow"&gt; function closures&lt;/a&gt;, and the API event handling system &lt;code&gt;GEvent&lt;/code&gt;  attaches events to DOM nodes in such a way that almost inevitably  causes some browsers to leak memory,  &lt;a href="http://jibbering.com/faq/faq_notes/closures.html#clMem" rel="nofollow"&gt; particularly Internet Explorer&lt;/a&gt;. Version 2 of the Maps API  introduces a new method, &lt;code&gt;GUnload()&lt;/code&gt;, that will remove  most of the circular references that cause these leaks.  You should call  &lt;code&gt;GUnload()&lt;/code&gt; in the &lt;code&gt;onunload&lt;/code&gt; event of your page  to reduce the potential that your application leaks memory:&lt;/p&gt;  &lt;pre class="prettyprint"&gt;&lt;span class="pun"&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;body onunload=&amp;quot;GUnload()&amp;quot;&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;span class="pun"&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;Using this function has virtually eliminated Internet Explorer memory  leaks in Google Maps, though you should test for memory leaks on your own  site using tools like &lt;a href="http://www.outofhanwell.com/ieleak/" rel="nofollow"&gt; Drip&lt;/a&gt; if you are noticing memory consumption problems.&lt;/p&gt;看樣子要常逛GOOGLE MAP API&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8839694275126731728?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8839694275126731728/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_13.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8839694275126731728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8839694275126731728'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript_13.html' title='暫存-javascript記憶體管理'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2404474764543338249</id><published>2009-04-11T11:32:00.000-07:00</published><updated>2009-04-17T08:41:01.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='論文'/><title type='text'>連線穩定度 省電能力</title><content type='html'>1.連線穩定度:&lt;br /&gt;&lt;br /&gt;描述:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;回家要牽車時，跑出:&lt;/li&gt;&lt;/ul&gt;          無法讀取資料連線，按了確定 又繼續跑&lt;br /&gt;&lt;br /&gt;        解決方法 : catch&lt;br /&gt;                                     {&lt;br /&gt;                                      ;&lt;br /&gt;                                       }&lt;br /&gt;&lt;ul&gt;&lt;li&gt;進入室內一陣子:&lt;/li&gt;&lt;/ul&gt;也會跳出  忘了&lt;br /&gt;NullReferenceException 於WSuserV32.Form1.UpdateData() at TASK.Invoke()&lt;br /&gt;&lt;ul&gt;&lt;li&gt;一直收不到server回應:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;        連線逾時 time out&lt;br /&gt;&lt;br /&gt;        解決方法，try 會逾時的地方，catch exception 狀態若為逾時 則睡眠增加。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.省電能力:&lt;br /&gt;&lt;br /&gt;不同交通模式:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;步行8秒&lt;/li&gt;&lt;li&gt;機車4秒&lt;/li&gt;&lt;li&gt;火車4秒&lt;/li&gt;&lt;li&gt;特殊&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;           靜止&lt;br /&gt;         可見衛星數:0 表是在室內!!&lt;br /&gt;         PDOP:25.5 表是什麼呢?&lt;br /&gt;&lt;br /&gt;議題~~~~~~~~~~~&lt;br /&gt;在室內:        要分辨衛星數 有可見衛星數 、 鎖定衛星數&lt;br /&gt;&lt;br /&gt;目前在房間內PDA顯示&lt;br /&gt;0/1(0)&lt;br /&gt;但經緯度有值，HDOP VDOP PDOP 皆為25.5&lt;br /&gt;&lt;br /&gt;回家後，手機還有電，程式與GPS Speed Sentry持續開啟，但關閉螢幕&lt;br /&gt;出門前打開螢幕，GPS Speed Sentry 顯示無可用NMEA值 是否重新連結。&lt;br /&gt;此時點選是~查看衛星分布，在3D圖式上可見完整衛星分布，但都無鎖定。&lt;br /&gt;程式開啟，繼續傳送，往學校方向走去，&lt;br /&gt;程式GPS資訊顯示~衛星數0/1(0) 但經緯度友值。&lt;br /&gt;到學校後發現，地圖一值標示在家裡。&lt;br /&gt;所以可以推斷，若GPS 衛星數0，經緯度值並不會更新，表靜止!4-16記&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2404474764543338249?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2404474764543338249/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_11.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2404474764543338249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2404474764543338249'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_11.html' title='連線穩定度 省電能力'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4747679645772933920</id><published>2009-04-10T13:11:00.000-07:00</published><updated>2009-04-10T14:30:11.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><title type='text'>什麼是 JavaScript</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;是一種&lt;/span&gt;直譯式語言&lt;span style=";font-family:&amp;quot;;" &gt;，它可以被嵌入&lt;/span&gt;&lt;span lang="EN-US"&gt; HTML &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;的檔之中。&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;可以用來處理一些畫面的特效，例如變換圖片、彈出式的選單、電子時鐘、拼圖遊戲等。&lt;/span&gt;不同於&lt;span class="mw-redirect"&gt;伺服器&lt;/span&gt;端腳本語言，例如&lt;a href="http://zh.wikipedia.org/w/index.php?title=PHP&amp;amp;variant=zh-tw" title="PHP"&gt;PHP&lt;/a&gt;與&lt;a href="http://zh.wikipedia.org/w/index.php?title=ASP&amp;amp;variant=zh-tw" title="ASP"&gt;ASP&lt;/a&gt;，JavaScript是client端腳本語言，其&lt;span style="text-decoration: underline;"&gt;原始碼&lt;/span&gt;在發往客戶端執行之前不需經過編譯，而是將文字格式的字元代碼發送給瀏覽器由瀏覽器解釋執行，也就是說JavaScript是在用戶的&lt;span class="mw-redirect"&gt;瀏覽器&lt;/span&gt;上運行，不需要伺服器的支援而可以獨立運行&lt;span style=";font-family:&amp;quot;;" &gt;，&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;隨著網頁下載到你的電腦後，便會自動執行這些程式來做出特效，&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;通過&lt;/span&gt;&lt;span lang="EN-US"&gt; JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;可以做到回應用戶的需求事件（如表單的輸入），這樣當一位使用者輸入一項資訊時，它不需要通過網路傳送到伺服器端進行處理再傳回來的過程，而可以直接在用戶端進行事件的處理。&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;但因為各家瀏覽器的不同，寫程式時要注意到相容性的問題，比方說獨大的IE就單純只參考W3C的規範，自訂自己的標準，寫程式時要特別注意~&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;優點是:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;可以減少對伺服器的負擔。而隨著伺服器的強壯，雖然現在的程式員更喜歡運行於伺服端的腳本以保證安全，但JavaScript仍然以其跨平台、容易上手等優勢大行其道。&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;缺點是:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E8%A7%A3%E9%87%8B%E8%AA%9E%E8%A8%80&amp;amp;action=edit&amp;amp;redlink=1" class="new" title="解釋語言 (頁面未存在)"&gt;解釋語言&lt;/a&gt;的弱點是安全性較差，而且在JavaScript中，如果一條執行不了，那麼下面的語言也無法執行。而且由於每次重新載入都會重新解譯，載入後，有些代碼會延遲至運行時才解譯，甚至會多次解譯，所以速度較慢。&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;Javascript與Java&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;　　&lt;/span&gt;&lt;span lang="EN-US"&gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt; Java &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;很相似，但它們卻是完全不同的語言！&lt;/span&gt;&lt;span lang="EN-US"&gt; Java &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;是由&lt;/span&gt;&lt;span lang="EN-US"&gt; Sun Microsystem &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;公司開發的一種面向物件的程式設計語言，類似於&lt;/span&gt;&lt;span lang="EN-US"&gt;C++&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;，它需要多種編譯器和支援檔才能運行；但於&lt;/span&gt;&lt;span lang="EN-US"&gt; C++ &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;不同的是，&lt;/span&gt;&lt;span lang="EN-US"&gt;Java &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;可以獨立於任何操作平臺，因此它就在當今&lt;/span&gt;&lt;span lang="EN-US"&gt; Internet &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;網路各種操作平臺的基礎上得以迅速發展。但它是一種比&lt;/span&gt;&lt;span lang="EN-US"&gt; JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;複雜得多的標準程式語言。&lt;/span&gt;&lt;span lang="EN-US"&gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;則是相對容易瞭解的函數式語言&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;，JavaScript承襲了Java與Perl的語法&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;，&lt;/span&gt;&lt;span lang="EN-US"&gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;撰寫人員可以不那麼注重編程技巧，例如宣告所有的變數、類和方法，您也不必關心諸如&lt;/span&gt;&lt;span lang="EN-US"&gt; public&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt; private &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;或&lt;/span&gt;&lt;span lang="EN-US"&gt; protected &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;之類的費解的東西；更重要的是，它只能存在於一個&lt;/span&gt;&lt;span lang="EN-US"&gt; HTML Script&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;中，而且只有在裝入一個相容的瀏覽器時才能運行，所以許多&lt;/span&gt;&lt;span lang="EN-US"&gt; Java &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;的特性在&lt;/span&gt;&lt;span lang="EN-US"&gt; JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;中並不支持。現在，&lt;/span&gt;&lt;span lang="EN-US"&gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;完全相容於&lt;/span&gt;&lt;span lang="EN-US"&gt; ECMA-262 &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;標準（歐洲電腦製造協會的&lt;/span&gt;&lt;span lang="EN-US"&gt; JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;標準）；如需瞭解的更多資訊，請參閱&lt;/span&gt;&lt;span lang="EN-US"&gt; Netscape &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;的有關&lt;/span&gt;&lt;span lang="EN-US"&gt; Netscape JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;的介紹（微軟也有一個&lt;/span&gt;&lt;span lang="EN-US"&gt; JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;的變種，稱之為&lt;/span&gt;&lt;span lang="EN-US"&gt; JScript&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;）。&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;因 為Javascript與Java都可以在網頁上做出動態效果，而且JavaScript還可以控制網頁上的Java Applet，所以可以互相搭配。此外，他們也都能配合伺服端程式，做出一些特別的東西；例如Google Map就利用了JavaScript和後端程式的配合，讓地圖上每一格的圖片可以在使用者移動到看到它時才開始載入，以節省流量；此外，Google Mail和Yahoo!Mail的收件者裡打了一個字，通訊錄中以那個字為開頭的帳號就會出現在下方讓你選，這也是一樣的應用。這種技術，稱為&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;AJAX&lt;/span&gt;。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;JavaScript直譯式語言 &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E7%B7%A8%E8%AD%AF%E8%AA%9E%E8%A8%80&amp;amp;action=edit&amp;amp;redlink=1" class="new" title="編譯語言 (頁面未存在)"&gt;編譯語言&lt;/a&gt;例 如Java。Java的源代碼在傳遞到客戶端執行之前，必須經過編譯，因而客戶端上必須具有相應平台上的模擬器或解釋器，它可以通過編譯器或解釋器實現 獨立於某個特定的平台編譯代碼的束縛。但是它必須在服務器端進行編譯，這樣就拖延了時間。但因為已經封裝，所以能保證安全性。&lt;/p&gt;&lt;p&gt;因為程式需要編譯後才能用，故就會牽涉到編譯器、連結器、函式庫 .... 等等各式各樣的跨平台問題，等著我們去傷腦筋。&lt;/p&gt;&lt;p&gt;然而，另外有一類的語言所寫出的程式是不需要「編譯」的，稱之為「直譯式語言」，這類語言只需要一個直譯器 (interpreter) 來做程式碼的翻譯，就可以完成我們想做的工作。故使用直譯式語言顯然就單純許多，比較沒有跨平台方面的問題。&lt;/p&gt;  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;語法特色~&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  lang="EN-US" &gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;是一種動態資料類型語言，也就是說，當聲明一個變數時不必指定資料的類型，當程式執行時它會自動將其轉換為所需要的類型。而當在一個運算式中將一個字串類型的值和數值型的值進行“&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  lang="EN-US" &gt;+”&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;運算時，&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  lang="EN-US" &gt;JavaScript &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:100%;"  &gt;會將數值轉換為字串&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4747679645772933920?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4747679645772933920/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4747679645772933920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4747679645772933920'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/javascript.html' title='什麼是 JavaScript'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3002509885985532202</id><published>2009-04-10T12:07:00.000-07:00</published><updated>2009-04-10T12:33:25.391-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='論文'/><title type='text'>什麼是PHP</title><content type='html'>&lt;p&gt;&lt;b&gt;PHP&lt;/b&gt;（&lt;i&gt;&lt;b&gt;H&lt;/b&gt;ypertext &lt;b&gt;P&lt;/b&gt;re&lt;b&gt;p&lt;/b&gt;rocessor&lt;/i&gt;）是一種伺服端(server-side)，跨平台(cross-platform)，簡單易學的HTML嵌入式非編譯性語言(HTML embedded scripting language)。&lt;/p&gt;   &lt;p&gt;這種在電腦上執行的&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E8%85%B3%E6%9C%AC%E8%AA%9E%E8%A8%80&amp;amp;variant=zh-tw" title="腳本語言" class="mw-redirect"&gt;腳本語言(指令碼語言)&lt;/a&gt;，主要是用途在於處理&lt;span class="new"&gt;動態網頁&lt;/span&gt;，也包含了&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E5%91%BD%E4%BB%A4%E5%88%97&amp;amp;variant=zh-tw" title="命令列" class="mw-redirect"&gt;命令列&lt;/a&gt;執行介面（command line interface），或者產生圖形使用者介面（GUI）程式。&lt;/p&gt;&lt;p&gt;PHP 目前被廣泛的應用，特別是在伺服器端的網頁程式開發方面。一般來說 PHP 大多執行在網頁伺服器端上，透過執行PHP程式碼來產生使用者瀏覽的網頁提供瀏覽器讀取。PHP 幾乎可以在不同種的伺服器、任何的作業系統、平台上執行，也可以和許多&lt;span class="mw-redirect"&gt;資料庫系統&lt;/span&gt;結合而且使用 PHP 完全是免費的。官方組織 PHP Group 提供了完整的程式原始碼，允許使用者修改、編譯、擴充來使用。根據2007年4月的統計資料，PHP 已經被安裝在超過2000萬個網站和100萬台伺服器上。&lt;/p&gt;&lt;p&gt;目前PHP5包含了許多新特色，像是強化的&lt;span class="mw-redirect"&gt;物件導向&lt;/span&gt;功能、引入PDO（PHP Data Objects，一個存取&lt;span class="mw-redirect"&gt;資料庫&lt;/span&gt;的延伸函式庫）、以及許多效能上的增強&lt;span style="text-decoration: underline;"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3002509885985532202?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3002509885985532202/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/php.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3002509885985532202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3002509885985532202'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/php.html' title='什麼是PHP'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2271175831179920495</id><published>2009-04-10T11:18:00.000-07:00</published><updated>2009-04-10T12:03:18.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='論文'/><title type='text'>什麼是HTML-標記語言</title><content type='html'>&lt;b&gt;超文件標示語言(&lt;/b&gt;&lt;b&gt;HyperText Markup Language)&lt;/b&gt;，簡稱為&lt;b&gt;HTML&lt;br /&gt;&lt;/b&gt;&lt;span class="mw-redirect"&gt;是為了建置網頁並可在其他網頁瀏覽器中看到的信息而設計的一種標示語言&lt;/span&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E7%BD%AE%E6%A0%87%E8%AF%AD%E8%A8%80&amp;amp;variant=zh-tw" title="標示語言"&gt;標示語言&lt;/a&gt;。&lt;br /&gt;HTML被用來結構化欲傳達給瀏覽者的信息——例如標題、段落和列表等等，也可用來在一定程度上描述文檔的外觀和&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E8%AF%AD%E4%B9%89&amp;amp;variant=zh-tw" title="語義" class="mw-redirect"&gt;語義&lt;/a&gt;。由&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E8%92%82%E5%A7%86%C2%B7%E4%BC%AF%E7%BA%B3%E6%96%AF-%E6%9D%8E&amp;amp;variant=zh-tw" title="蒂姆·伯納斯-李"&gt;蒂姆·伯納斯-李&lt;/a&gt;給出原始定義，由&lt;a href="http://zh.wikipedia.org/w/index.php?title=IETF&amp;amp;variant=zh-tw" title="IETF" class="mw-redirect"&gt;IETF&lt;/a&gt;進行進一步發展，後來成為國際標準，現由&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E4%B8%87%E7%BB%B4%E7%BD%91%E8%81%94%E7%9B%9F&amp;amp;variant=zh-tw" title="全球資訊網聯盟"&gt;全球資訊網聯盟&lt;/a&gt;（&lt;a href="http://zh.wikipedia.org/w/index.php?title=W3C&amp;amp;variant=zh-tw" title="W3C" class="mw-redirect"&gt;W3C&lt;/a&gt;）維護。 &lt;p&gt;包含HTML內容的文件最常用的副檔名是&lt;tt&gt;.html&lt;/tt&gt;，但是像DOS這樣的舊作業系統限制&lt;span class="mw-redirect"&gt;副檔名&lt;/span&gt;為最多3個字元，所以&lt;tt&gt;.htm&lt;/tt&gt;&lt;span class="mw-redirect"&gt;副檔名&lt;/span&gt;也被使用。雖然現在使用的比較少一些了，但是&lt;tt&gt;.htm&lt;/tt&gt;&lt;span class="mw-redirect"&gt;副檔名&lt;/span&gt;仍舊普遍被支持。網頁編輯者可以用任何文字編輯器或&lt;span class="mw-redirect"&gt;所見即所得&lt;/span&gt;的HTML編輯器來編輯HTML文件。&lt;/p&gt; &lt;p&gt;早期的HTML語法被定義成較鬆散的規則，以有助於不熟悉網路出版的人採用。網頁瀏覽器接受了這個現實，並且可以顯示語法不嚴格的網頁。隨著時間的流逝，官方標準漸漸趨於嚴格的語法，但是瀏覽器繼續顯示一些遠稱不上合乎標準的HTML。使用&lt;a href="http://zh.wikipedia.org/w/index.php?title=XML&amp;amp;variant=zh-tw" title="XML"&gt;XML&lt;/a&gt;的嚴格規則的&lt;a href="http://zh.wikipedia.org/w/index.php?title=XHTML&amp;amp;variant=zh-tw" title="XHTML"&gt;XHTML&lt;/a&gt;（可擴展超文件標示語言）是&lt;a href="http://zh.wikipedia.org/w/index.php?title=W3C&amp;amp;variant=zh-tw" title="W3C" class="mw-redirect"&gt;W3C&lt;/a&gt;計劃中的HTML的接替者。雖然很多人認為它已經成為當前的HTML標準，但是它實際上是一個獨立的、和HTML平行發展的標準。&lt;a href="http://zh.wikipedia.org/w/index.php?title=W3C&amp;amp;variant=zh-tw" title="W3C" class="mw-redirect"&gt;W3C&lt;/a&gt;目前的建議是使用XHTML 1.1、 XHTML 1.0或者HTML 4.01進行網路出版。&lt;/p&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;標記語言&lt;br /&gt;&lt;/b&gt;&lt;b&gt;標記語言&lt;/b&gt;，也稱&lt;b&gt;置標語言&lt;/b&gt;是一種將文本（&lt;span lang="en" lang="en"&gt;Text&lt;/span&gt;）以及文本相關的其他信息結合起來，展現出關於文檔結構和數據處理細節的電腦文字編碼。與文本相關的其他信息（包括例如文本的結構和表示信息等）與原來的文本結合在一起，但是使用標記（markup）進行標識。&lt;span class="mw-redirect"&gt;超文本標記語言&lt;/span&gt;（&lt;span lang="en" lang="en"&gt;HTML&lt;/span&gt;）和&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E5%8F%AF%E6%89%A9%E5%B1%95%E7%BD%AE%E6%A0%87%E8%AF%AD%E8%A8%80&amp;amp;variant=zh-tw" title="可擴展標記語言" class="mw-redirect"&gt;可擴展標記語言&lt;/a&gt; （&lt;span lang="en" lang="en"&gt;eXtensible Markup Language&lt;/span&gt;，&lt;span lang="en" lang="en"&gt;XML&lt;/span&gt;）。標記語言廣泛應用於&lt;span class="mw-redirect"&gt;網頁&lt;/span&gt;和&lt;span class="new"&gt;網路應用程式&lt;/span&gt;。標記最早用於出版業，是作者、編輯以及出版商之間用於描述出版作品的排版格式所使用的。&lt;br /&gt;&lt;br /&gt;與標記語言相反的是程式設計語言&lt;br /&gt;&lt;b&gt;編程語言&lt;/b&gt;（&lt;span lang="en" lang="en"&gt;programming language&lt;/span&gt;），又稱&lt;b&gt;程式設計語言&lt;/b&gt;（&lt;span lang="en" lang="en"&gt;program design language&lt;/span&gt;，簡稱&lt;span lang="en" lang="en"&gt;PDL&lt;/span&gt;），是一組用來定義&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A8%8B%E5%BA%8F&amp;amp;variant=zh-tw" title="電腦程式"&gt;電腦程式&lt;/a&gt;的語法規則。它是一種被標準化的交流技巧，用來向&lt;span class="mw-redirect"&gt;電腦&lt;/span&gt;發出指令。一種電腦語言讓程式設計師能夠準確地定義電腦所需要使用的資料，並精確地定義在不同情況下所應當採取的行動。&lt;br /&gt;&lt;br /&gt;&lt;p&gt;編程語言原本是被設計成專門使用在電腦上的，但它們也可以用來定義&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E7%AE%97%E6%B3%95&amp;amp;variant=zh-tw" title="演算法"&gt;演算法&lt;/a&gt;或者&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84&amp;amp;variant=zh-tw" title="資料結構"&gt;資料結構&lt;/a&gt;。正是因為如此，程式設計師才會試圖使程式代碼更容易閱讀。&lt;/p&gt; &lt;p&gt;編程語言往往使程式設計師能夠比使用機器語言更準確地表達他們所想表達的目的。對那些從事電腦科學的人來說，懂得程式語言是十分重要的，因為在當今所有的計算都需要程式語言才能完成。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2271175831179920495?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2271175831179920495/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/html.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2271175831179920495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2271175831179920495'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/html.html' title='什麼是HTML-標記語言'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7632192274091855818</id><published>2009-04-10T11:03:00.000-07:00</published><updated>2009-04-11T01:38:37.906-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='論文'/><title type='text'>暫存</title><content type='html'>LBS :&lt;br /&gt;即時行動追蹤組成&lt;br /&gt;架構圖&lt;br /&gt;&lt;br /&gt;定位方式&lt;br /&gt;GPS ， CELL-ID , WIFI，RFID，Blooth tooth&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;gps 歷史，規格，準確度，訊號格式&lt;br /&gt;&lt;br /&gt;連結技術 :&lt;br /&gt;webservice優 缺點 (socket)&lt;br /&gt;SOAP&lt;br /&gt;&lt;br /&gt;WEB2.0技術&lt;br /&gt;&lt;a href="http://netcomclarkboy.blogspot.com/2009/04/html.html"&gt;什麼是HTML&lt;/a&gt;&lt;br /&gt;什麼是XML&lt;br /&gt;什麼是JAVASCRIPT&lt;br /&gt;&lt;a href="http://netcomclarkboy.blogspot.com/2009/04/php.html"&gt;什麼是PHP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;AJAX&lt;br /&gt;XMLHTTP&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;開發工具&lt;br /&gt;&lt;br /&gt;SDK:&lt;br /&gt;windows mobile6.0&lt;br /&gt;pocket pc&lt;br /&gt;win CE&lt;br /&gt;&lt;br /&gt;開發環境 .net framwork&lt;br /&gt;IDE :visual studio 2005&lt;br /&gt;&lt;br /&gt;web server : micorsoft IIS , apachy&lt;br /&gt;database : mysql,mssql&lt;br /&gt;google map api&lt;br /&gt;&lt;br /&gt;skype api&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="navbox collapsible autocollapse" style="margin: auto; width: 680px; height: 397px;"&gt;&lt;tbody&gt;&lt;tr style="cursor: pointer;" class="uncollapse toggleHotspot"&gt;&lt;th colspan="2" style="text-align: center;"&gt;&lt;span style="font-size: 110%;"&gt;網頁技術與標準&lt;/span&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr style="" class="toggleHide"&gt; &lt;th style=""&gt;文檔呈現語言                              &lt;br /&gt;&lt;/th&gt; &lt;td style="" colspan="1"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=HTML&amp;amp;variant=zh-tw" title="HTML"&gt;HTML&lt;/a&gt;* - &lt;a href="http://zh.wikipedia.org/w/index.php?title=XHTML&amp;amp;variant=zh-tw" title="XHTML"&gt;XHTML&lt;/a&gt;* - &lt;a href="http://zh.wikipedia.org/w/index.php?title=XML&amp;amp;variant=zh-tw" title="XML"&gt;XML&lt;/a&gt;* -  &lt;a href="http://zh.wikipedia.org/w/index.php?title=DHTML&amp;amp;variant=zh-tw" title="DHTML"&gt;DHTML&lt;/a&gt;*&lt;/td&gt; &lt;/tr&gt; &lt;tr style="" class="toggleHide"&gt; &lt;th style=""&gt;樣式格式描述語言&lt;/th&gt; &lt;td style="" colspan="1"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=CSS&amp;amp;variant=zh-tw" title="CSS"&gt;CSS&lt;/a&gt;* - &lt;a href="http://zh.wikipedia.org/w/index.php?title=XSL&amp;amp;variant=zh-tw" title="XSL" class="mw-redirect"&gt;XSL&lt;/a&gt;*&lt;/td&gt; &lt;/tr&gt; &lt;tr style="" class="toggleHide"&gt; &lt;th style=""&gt;動態網頁技術&lt;/th&gt; &lt;td style="" colspan="1"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=Common_Gateway_Interface&amp;amp;variant=zh-tw" title="Common Gateway Interface" class="mw-redirect"&gt;CGI&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=Active_Server_Pages&amp;amp;variant=zh-tw" title="Active Server Pages"&gt;ASP&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=ASP.NET&amp;amp;variant=zh-tw" title="ASP.NET"&gt;ASP.NET&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=ColdFusion&amp;amp;variant=zh-tw" title="ColdFusion"&gt;ColdFusion&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=JSP&amp;amp;variant=zh-tw" title="JSP"&gt;JSP&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=PHP&amp;amp;variant=zh-tw" title="PHP"&gt;PHP&lt;/a&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="" class="toggleHide"&gt; &lt;th style=""&gt;客戶端互動技術&lt;/th&gt; &lt;td style="" colspan="1"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=ActiveX&amp;amp;variant=zh-tw" title="ActiveX"&gt;ActiveX&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=Java_Applet&amp;amp;variant=zh-tw" title="Java Applet" class="mw-redirect"&gt;Java Applet&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=Adobe_Flash&amp;amp;variant=zh-tw" title="Adobe Flash"&gt;Flash&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=AJAX&amp;amp;variant=zh-tw" title="AJAX"&gt;AJAX&lt;/a&gt; - &lt;strong class="selflink"&gt;XMLHTTP&lt;/strong&gt;* - &lt;a href="http://zh.wikipedia.org/w/index.php?title=Microsoft_Silverlight&amp;amp;variant=zh-tw" title="Microsoft Silverlight"&gt;Silverlight&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="" class="toggleHide"&gt; &lt;th style=""&gt;客戶端指令碼語言&lt;/th&gt; &lt;td style="" colspan="1"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=JavaScript&amp;amp;variant=zh-tw" title="JavaScript"&gt;JavaScript&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=JScript&amp;amp;variant=zh-tw" title="JScript"&gt;JScript&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=VBScript&amp;amp;variant=zh-tw" title="VBScript"&gt;VBScript&lt;/a&gt; - &lt;a href="http://zh.wikipedia.org/w/index.php?title=ECMAScript&amp;amp;variant=zh-tw" title="ECMAScript"&gt;&lt;/a&gt; &lt;a href="http://zh.wikipedia.org/w/index.php?title=ActionScript&amp;amp;variant=zh-tw" title="ActionScript"&gt;ActionScript&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr style="" class="toggleHide"&gt; &lt;th style=""&gt;文檔綱要語言&lt;/th&gt; &lt;td style="" colspan="1"&gt;&lt;a href="http://zh.wikipedia.org/w/index.php?title=%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%E6%8F%8F%E8%BF%B0&amp;amp;variant=zh-tw" title="檔案型式描述"&gt;DTD&lt;/a&gt;* - &lt;a href="http://zh.wikipedia.org/w/index.php?title=XML_Schema&amp;amp;variant=zh-tw" title="XML Schema"&gt;XML Schema&lt;/a&gt;*&lt;/td&gt; &lt;/tr&gt; &lt;tr style="" class="toggleHide"&gt; &lt;td style="" colspan="2"&gt;*由&lt;a href="http://zh.wikipedia.org/w/index.php?title=W3C&amp;amp;variant=zh-tw" title="W3C" class="mw-redirect"&gt;W3C&lt;/a&gt;制定和維護的標準與規範&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7632192274091855818?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7632192274091855818/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_10.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7632192274091855818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7632192274091855818'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_10.html' title='暫存'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8092175361212029227</id><published>2009-04-09T03:26:00.001-07:00</published><updated>2009-04-09T03:51:16.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>見鬼了 parseInt('08')</title><content type='html'>今天月曆顯示 8號 9號 應該 要出現連結變色才對~&lt;br /&gt;月曆語法應該沒有問題啊~ 抓蟲結果.. 無解~?!!&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;alert("parseInt('10') = "+parseInt('10') + " parseInt('09') = "+parseInt('09')+"  parseInt('07') = "+parseInt('07')+"  parseInt('03') = "+parseInt('03'));&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;alert出來的結果是:&lt;br /&gt;&lt;span style="font-size:130%;"&gt;parseInt('10') = 10 parseInt('09') = 0  parseInt('07') = 7  parseInt('03') = 3&lt;/span&gt;&lt;br /&gt;怎麼會這樣~&lt;br /&gt;&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;原來啊~~&lt;br /&gt;&lt;br /&gt;parseInt&lt;br /&gt;語法&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;parseInt(numString, [radix])&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;描述: 轉換型別為&lt;span style="color: rgb(0, 153, 0);"&gt;string&lt;/span&gt;的數字，變成型別為&lt;span style="color: rgb(0, 153, 0);"&gt;number&lt;/span&gt;的數字&lt;br /&gt;參數&lt;span style="color: rgb(51, 102, 255);"&gt; :&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;radix&lt;/span&gt;為 option，表示"進制"；&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;numString&lt;/span&gt;有幾個可能性:&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;前面部分是'0x' 的字串會被當作16進制，&lt;/li&gt;&lt;li&gt;如果前面是'0' 的字串則被當作8進制。&lt;/li&gt;&lt;li&gt;所有其它字符串都被當作是10進制。&lt;/li&gt;&lt;li&gt;如果前面是無法解析的數字，比如XYZ ，則會顯示 'NaN'。&lt;/li&gt;&lt;/ol&gt;所以.. 08  09 被當作8進制~才會映出 '0' ~ 怪怪&lt;br /&gt;因此~只要&lt;span style="color: rgb(204, 0, 0);"&gt;parseInt(numString, &lt;span style="color: rgb(255, 255, 0);"&gt;10&lt;/span&gt;) &lt;/span&gt;就好了~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8092175361212029227?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8092175361212029227/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_09.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8092175361212029227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8092175361212029227'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post_09.html' title='見鬼了 parseInt(&apos;08&apos;)'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3816440091239023060</id><published>2009-04-06T14:03:00.000-07:00</published><updated>2009-04-06T14:20:31.978-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>IE快取問題</title><content type='html'>再使用FF都沒問題的，但IE問題卻發生了~&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;載入的檔案沒有更新，在HTML裡已經宣告過標頭不快取了~但還是硬生生被鎖住，&lt;br /&gt;按Ctrl+ F5，怪哉~發現居然還是讀到舊檔...&lt;br /&gt;想想...我的程式是透過連結SERVER上的php檔來抓資料，所以就只要改PHP檔的標頭就好了吧~果然~ 一試OK~&lt;br /&gt;如果有欲到IE快取問題，可以根據不同的需求，來做避免快取的動作吧~&lt;br /&gt;&lt;br /&gt;以下是在不同檔案的避免快取辦法~&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;可以在HTML裡&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;cite title="Quote"&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;META HTTP-EQUIV=&amp;quot;CACHE-CONTROL&amp;quot; CONTENT=&amp;quot;NO-CACHE&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;META HTTP-EQUIV=&amp;quot;EXPIRES&amp;quot; CONTENT=&amp;quot;Mon, 22 Jul 2002 11:12:01 GMT&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;META HTTP-EQUIV=&amp;quot;PRAGMA&amp;quot; CONTENT=&amp;quot;NO-CACHE&amp;quot;&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/cite&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;在JSP裡:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;要連結的網址後面加參數，名稱不一樣，瀏覽器就會被騙過去再載一次&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;window.location.href='linkpage.jsp?t='+new Date().getTime();&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;在PHP裡&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;程式碼最前面加上:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;header(&amp;quot;Cache-Control: no-store, no-cache, must-revalidate&amp;quot;);&lt;br /&gt;header(&amp;quot;Cache-Control: post-check=0, pre-check=0&amp;quot;, false);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;在CSS連結~&lt;br /&gt;&lt;a class="taggedlink" href="/post/2008/02/Avoid-browser-cache-problem-on-css-or-javascript-file.aspx"&gt;簡易克服  CSS 被瀏覽器快取(Cache)的問題&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;參考 &lt;a href="http://blog.donews.com/afos/archive/2004/09/07/91367.aspx"&gt;JSP: 避免用戶端快取網頁內容的幾種方法比較&lt;/a&gt;  裡面有幾個方法的測試&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3816440091239023060?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3816440091239023060/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/ie.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3816440091239023060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3816440091239023060'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/ie.html' title='IE快取問題'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-472240675199335343</id><published>2009-04-06T08:09:00.000-07:00</published><updated>2009-04-06T08:15:24.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>gdownload函式</title><content type='html'>寫網頁時，動態載入的函式使用的是google API，要注意，因為是非同步的方式，所以要處理資料的程式，應該要確保為request後所得到的資料的後面，才不會發生，要把資料秀出來時卻說資料未定義~&lt;br /&gt;&lt;br /&gt;http://coolersport.info/csite/index.php?a=CDownloadUrl，這是人家寫好的，具有簡易判斷瀏覽器與XML識別，可以看做是gdownload()拆解~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-472240675199335343?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/472240675199335343/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/gdownload.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/472240675199335343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/472240675199335343'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/gdownload.html' title='gdownload函式'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6638057368504114766</id><published>2009-04-06T07:17:00.000-07:00</published><updated>2009-04-22T01:00:52.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>暫放</title><content type='html'>簡易CSS語法教學，不含排版部分。新手適用!&lt;br /&gt;&lt;a href="http://css.1keydata.com/tw/"&gt;CSS 語法教學&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;正規表達式，PHP繼承*NIX的一貫傳統，完全支援正規表達式的處理，split("-",$xx)函式是其中一例&lt;br /&gt;&lt;a href="http://km.tceb.edu.tw/%7Ewsx/php/ch6-2.htm"&gt;PHP程式設計講義區&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;參考 Neo 's Blog，下面這篇提供了好幾個日期選擇器..&lt;br /&gt;&lt;a href="http://www.neo.com.tw/archives/854"&gt;[Javascript] 免費、直覺的日期選擇元件&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://trsc.ylc.edu.tw/%7Ebirdfly/new/w5-4.htm"&gt;PHP與MySQL實務運用&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://verywed.com/0936820006/makeup"&gt;新娘秘書專區&lt;/a&gt;  這個要講一下，這是個人Blog，重點不是在新娘..是在右下角的月曆，樣式蠻喜歡的~看了一下源碼是yahoo的API ..&lt;br /&gt;&lt;br /&gt;問題是這樣的~&lt;br /&gt;網頁一載入，就要有個日曆秀出哪幾天有資訊，點擊有資訊的那幾天會再秀出所有的時間點，&lt;br /&gt;方法是用資料庫搜尋的方式, 先判斷當月哪幾天有資訊，if有，變更日期為可連結，點擊連結，責執行非同步下載當天資訊，再載入下拉式選單。&lt;br /&gt;&lt;br /&gt;首先，google了關鍵字月曆、行事曆，但沒找到適合的，幾乎都是找到修初登入網頁時的當月月曆，後來看到"日期選擇器"，是用來讓使用者方便點擊來輸入生日等日期資訊用的，還是找不到適合的，&lt;br /&gt;而這些都是人家做好的，有的是直接在網頁裡嵌入這些原碼或者是引用JS檔，但如要與資料庫連線，應該就不提供了，原本想偷懶的，但看到程式碼..好多啊~ 所以看了這麼久，只好自己寫了，&lt;br /&gt;從最簡單的NVU這個IDE下手，NVU有提供一個月曆元件，也是只有提供最簡單的秀出當天日期，&lt;br /&gt;&lt;br /&gt;作修改的話，首先要產生&lt;&lt; &gt;&gt; 兩個連結， 就是可以點擊上一個月份 下一個月分，&lt;br /&gt;第二步，連結資料庫秀出哪幾天有資訊&lt;br /&gt;第三部，寫javascript 動態載入所點擊之當天日期內所有時間點資訊&lt;br /&gt;&lt;br /&gt;而月曆寫法，應該都大同小異，&lt;br /&gt;用date()得到本機日期時間，判斷是否為閏年，計算本月第1號是在星期幾，在之前的表格都設為空，判斷月曆的列數，印出整個月~&lt;br /&gt;&lt;br /&gt;比較要注意的就是，日期函式中，getMonth()函式所得的月份要+1 數字才對。&lt;br /&gt;&lt;br /&gt;javascript 日期函式&lt;br /&gt;&lt;a href="http://www.knowsky.com/3615.html"&gt;Javascript实例教程(15) 日期函数&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;PHP程式設計講義區&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下是時間選擇器~&lt;br /&gt;&lt;h2&gt;&lt;a href="http://plus-now.com/?p=290" title="Permanent Link to [Javascript]Time Picker視覺化的時間選擇器"&gt;[Javascript]Time Picker視覺化的時間選擇器&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;http://jsgears.com/thread-134-1-1.html&lt;br /&gt;&lt;br /&gt;http://www.study-area.org/coobila/tutorial_468.html2&lt;br /&gt;&lt;br /&gt;http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/09/04/code-javascript-time-picker.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6638057368504114766?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6638057368504114766/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6638057368504114766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6638057368504114766'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/blog-post.html' title='暫放'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7926209357892515659</id><published>2009-04-01T11:11:00.000-07:00</published><updated>2009-04-01T11:44:30.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>window.jstiming is undefined  網站又掛了~google map?</title><content type='html'>剛過12點~&lt;br /&gt;刷新地圖就不見了..&lt;br /&gt;FIREFOX 錯誤主控台顯示 window.jstiming is undefined&lt;br /&gt;&lt;br /&gt;..怎麼會在這時候發生問題~&lt;br /&gt;&lt;br /&gt;google唯一找到的文章... 居然也沒有回覆..&lt;br /&gt;&lt;div class="lf secttl"&gt;   &lt;span id="thread_subject_site"&gt;   &lt;a href="http://groups.google.co.in/group/Google-Maps-API/browse_thread/thread/9afc19e22dfbb9ad"&gt;Syntax Changes for v152a   &lt;/a&gt;&lt;/span&gt;   &lt;/div&gt;&lt;br /&gt;這是錯誤代碼行&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;s.src=[c?c:"http://csi.gstatic.com/csi","?v=3","&amp;amp;s="+(window.jstiming.sn?window.jstiming.sn:"mfeundefined")+"&amp;amp;action=",a.name,k.length?"&amp;amp;it="+k.join(",")+d:d,"&amp;amp;rt=",i.join(",")].join("");s=j}};var Wr=/[~.,?&amp;amp;_]/g,Xr=f;zk.f=function(a,b,c){this.qm=a.replace(Wr,"-");this.Eg=c||new window.jstiming.Timer(b);window.jstiming.setTimerName(this.Eg,this.qm);this.Jq=1;this.tD=0;this.uf={};this.Jl={};this.Um={};this.iq=""};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;都快放棄了才發現...解決辦法~&lt;br /&gt;"http://maps.google.com/maps?file=api&amp;amp;v=2.x&amp;amp;key=abcdef"&lt;br /&gt;&lt;br /&gt;改成&lt;br /&gt;"http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;key=abcdef"&lt;br /&gt;&lt;br /&gt;就如同連結裡說的~2.X版 不穩定~改回第2版即可&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7926209357892515659?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7926209357892515659/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/windowjstiming-is-undefined-google-map.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7926209357892515659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7926209357892515659'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/04/windowjstiming-is-undefined-google-map.html' title='window.jstiming is undefined  網站又掛了~google map?'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1719126085853489215</id><published>2009-03-31T22:52:00.000-07:00</published><updated>2009-03-31T22:57:58.678-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>網頁開發除錯工具</title><content type='html'>&lt;h3 class="name" dir="ltr" lang="en-US"&gt;&lt;/h3&gt;記得曾經找過網頁開發工具，除錯的部分都用firefox的控制台，之前就夠用了但現在網站越來越大條了，發現用IE跑的話，有些問題出現，甚至跑不動，重新找了一遍除錯工具&lt;br /&gt;&lt;br /&gt;適用 FireFox --    &lt;a href="https://addons.mozilla.org/zh-TW/firefox/addon/1843"&gt;Firebug 1.3.3&lt;/a&gt;&lt;span class="postbody"&gt;&lt;br /&gt;&lt;br /&gt;適用 IE --(IEDevToolBarSetup.msi) &lt;/span&gt;&lt;span class="postbody"&gt;微軟官方&lt;/span&gt;&lt;span class="postbody"&gt;抓下來忘了留網址，自己找吧!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1719126085853489215?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1719126085853489215/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post_31.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1719126085853489215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1719126085853489215'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post_31.html' title='網頁開發除錯工具'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8122459400403652819</id><published>2009-03-31T11:23:00.000-07:00</published><updated>2009-04-01T11:27:52.876-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>php) date 時間日期不對</title><content type='html'>使用PHP 內建日期函式 date(Y-m-d)&lt;br /&gt;跑出來結果都跟本機時間不同，但在MySql使用其內建date()又沒錯...怪~&lt;br /&gt;原來是php server 問題~ 要設定php.ini 的timezone 為Asia/Taipei&lt;br /&gt;&lt;br /&gt;若不改設定檔~可以用下面方式&lt;br /&gt;&lt;br /&gt;程式碼中加上&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;date_default_timezone_set("Asia/Taipei");&lt;/span&gt;&lt;br /&gt;預設指定系統時間為台灣就可以了~&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;date('Y-m-d G:i:T', strtotime('+8HOUR') )&lt;/span&gt;&lt;br /&gt;指定時間偏移到為台灣時區就可以了~&lt;br /&gt;&lt;br /&gt;到右下角小時鐘，點"時區"分頁，就會看到 (GMT+08:00)台北&lt;br /&gt;&lt;br /&gt;據說是5.X版後全改成格林威治時間~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8122459400403652819?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8122459400403652819/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/php-date.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8122459400403652819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8122459400403652819'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/php-date.html' title='php) date 時間日期不對'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4115211647952144435</id><published>2009-03-31T09:02:00.000-07:00</published><updated>2009-03-31T09:14:35.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>Timeout偵錯</title><content type='html'>&lt;a href="http://msdn.microsoft.com/zh-tw/library/system.web.services.protocols.webclientprotocol.timeout%28VS.80%29.aspx"&gt;WebClientProtocol.Timeout 屬性&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/system.net.httpwebrequest.timeout%28VS.80%29.aspx"&gt;HttpWebRequest.Timeout 屬性&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/forums/zh-TW/237/thread/53d49e71-bafb-45d0-80b2-62e3fcb90a40/"&gt;Session Timeout 設定及讀取&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesvbcs/thread/f3040bd6-24c3-41c2-a0f7-60f99c51e358/"&gt;WebService calling from Pocket PC&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/hk/community/chatroom/2002/1204techtalkQA.aspx"&gt; 12月04日「 微軟線上專家對談」主題：ASP通往ASP .NET的升級之路&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;span csdnid="topicSubject" id="topicSubject"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://topic.csdn.net/u/20071129/13/cc657c62-4992-4fcf-a273-20bd4c32d752.html"&gt;c# 关于HttpWebResponse蹦出的异常的一个问题&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blueshop.com.tw/board/show.asp?subcde=BRD20070316121110BB3&amp;amp;fumcde=FUM20050124192253INM"&gt;C# 呼叫 WebService &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://sls.weco.net/calendar-orig/2009/01/4&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4115211647952144435?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4115211647952144435/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/timeout.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4115211647952144435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4115211647952144435'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/timeout.html' title='Timeout偵錯'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1319303907412713128</id><published>2009-03-27T14:35:00.000-07:00</published><updated>2009-03-27T14:56:30.255-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>javascript 物件導向宣告</title><content type='html'>&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;javascript&amp;#25511;&amp;#21046;html&amp;#20803;&amp;#32032;&amp;#39023;&amp;#31034;/&amp;#38577;&amp;#34255;&lt;br /&gt;&lt;br /&gt;1&amp;#12290;&amp;#32232;&amp;#23531;js&amp;#20989;&amp;#25976;&lt;br /&gt;&lt;br /&gt;&amp;lt; script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;function display(id){&lt;br /&gt;&lt;br /&gt;vartraget=document.getElementById(id);&lt;br /&gt;if(traget.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;traget.style.display=&amp;quot;&amp;quot;;&lt;br /&gt;}else{&lt;br /&gt;traget.style.display=&amp;quot;none&amp;quot;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&amp;lt; /script&amp;gt;&lt;br /&gt;&lt;br /&gt;2.&amp;#35201;&amp;#39023;&amp;#31034;/&amp;#38577;&amp;#34255;&amp;#30340;html&amp;#20803;&amp;#32032;&amp;#21152;&amp;#19978;id&amp;#23660;&amp;#24615;&lt;br /&gt;&lt;br /&gt;&amp;lt; table&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; tr id=&amp;quot;menu&amp;quot; &amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; td&amp;gt;&amp;#25511;&amp;#21046;&amp;#36889;&amp;#20491;tr&amp;#30340;&amp;#39023;&amp;#31034;/&amp;#38577;&amp;#34255;&amp;lt; /td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; /tr&amp;gt; &amp;lt; /tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; /table&amp;gt; &amp;lt; /table&amp;gt;&lt;br /&gt;&lt;br /&gt;3&amp;#65292;&amp;#28155;&amp;#21152;&amp;#25353;&amp;#37397;&amp;#65292;&amp;#37832;&amp;#25509;&amp;#31561;&amp;#35320;&amp;#30332;js&amp;#20989;&amp;#25976;&lt;br /&gt;&lt;br /&gt;&amp;lt; input type=&amp;quot;button&amp;quot; onclick=&amp;quot;display( 'menu' )&amp;quot; value=&amp;quot;&amp;#39023;&amp;#31034;/&amp;#38577;&amp;#34255;&amp;quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; a href=&amp;quot;#&amp;quot; onclick=&amp;quot;display( 'menu' )&amp;quot; &amp;gt;&amp;#39023;&amp;#31034;/&amp;#38577;&amp;#34255;&amp;lt; /a&amp;gt;&lt;br /&gt;javascript&amp;#39023;&amp;#31034;&amp;#38577;&amp;#34255;&amp;#23652;&lt;br /&gt;&amp;lt; div id=&amp;quot;&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;#24291;&amp;#21578;&amp;lt; /div&amp;gt;&lt;br /&gt;&amp;lt; input type=&amp;quot;botton&amp;quot; onclick=&amp;quot;&amp;#20989;&amp;#25976;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; script language=javascript&amp;gt;&lt;br /&gt;function&amp;#20989;&amp;#25976;{&lt;br /&gt;if(thisdiv.style.display=='none'){&lt;br /&gt;thisdiv.style.display=&amp;quot;&amp;quot;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;thisdiv.style.display=&amp;quot;none&amp;quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt; /script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#20320;&amp;#20808;&amp;#32102;div&amp;#21462;&amp;#20491;ID=&amp;#8220;AA&amp;#8221;thisdiv=AA&lt;br /&gt;javascript&amp;#38577;&amp;#34255;/&amp;#39023;&amp;#31034;&amp;#34920;&amp;#21934;&amp;#23565;&amp;#35937;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[SCRIPT language=javascript]&lt;br /&gt;function expandIt(el) {&lt;br /&gt;whichEl =document.getElementById(el)&lt;br /&gt;if (whichEl.style.display == 'none') {&lt;br /&gt;whichEl.style.display = '';&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;whichEl.style.display = 'none';&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;[/SCRIPT]&lt;br /&gt;&lt;br /&gt;el&amp;#26159;&amp;#23565;&amp;#35937;&amp;#30340;id&amp;#65292;&amp;#19981;&amp;#31649;&amp;#26159;tr&amp;#25110;&amp;#32773;table&amp;#31561;&amp;#31561;&amp;#20808;&amp;#35373;&amp;#32622;&amp;#19968;&amp;#19979;id&amp;#65292;&amp;#28982;&amp;#24460;&amp;#36914;&amp;#34892;&amp;#35519;&amp;#29992;&amp;#12290;&lt;br /&gt;&lt;br /&gt;&amp;#20363;&amp;#65306;&lt;br /&gt;&lt;br /&gt;[a onclick=&amp;quot;expandIt('ttchild'); return false&amp;quot; href=&amp;quot;#&amp;quot; ]try it[/a]&lt;br /&gt;&lt;br /&gt;[tr id=&amp;quot;ttchild&amp;quot;][td width=&amp;quot;18&amp;quot;]Example[/td][/tr]&lt;br /&gt;&lt;br /&gt;&amp;#20351;&amp;#29992;&amp;#26178;&amp;#25226;[]&amp;#35722;&amp;#25104;&amp;lt; &amp;gt;&lt;br /&gt;&lt;br /&gt;javascript&amp;#25511;&amp;#21046;&amp;#38913;&amp;#38754;&amp;#25511;&amp;#20214;&amp;#38577;&amp;#34255;&amp;#39023;&amp;#31034;&amp;#30340;&amp;#20841;&amp;#31278;&amp;#26041;&amp;#27861;&lt;br /&gt;&lt;br /&gt;javascript&amp;#25511;&amp;#21046;&amp;#38913;&amp;#38754;&amp;#25511;&amp;#20214;&amp;#38577;&amp;#34255;&amp;#39023;&amp;#31034;&amp;#30340;&amp;#20841;&amp;#31278;&amp;#26041;&amp;#27861;&amp;#65292;&amp;#26041;&amp;#27861;&amp;#30340;&amp;#19981;&amp;#21516;&amp;#20043;&amp;#34389;&amp;#22312;&amp;#26044;&amp;#25511;&amp;#20214;&amp;#38577;&amp;#34255;&amp;#24460;&amp;#26159;&amp;#21542;&amp;#36996;&amp;#22312;&amp;#38913;&amp;#38754;&amp;#19978;&amp;#20308;&amp;#20301;&amp;#26041;&amp;#27861;&amp;#19968;&amp;#65306;&lt;br /&gt;document.all[&amp;quot;PanelSMS&amp;quot;].style.visibility=&amp;quot;hidden&amp;quot;;&lt;br /&gt;document.all[&amp;quot;PanelSMS&amp;quot;].style.visibility=&amp;quot;visible&amp;quot;;&lt;br /&gt;&lt;br /&gt;&amp;#26041;&amp;#27861;&amp;#20108;&amp;#65306;&lt;br /&gt;document.all[&amp;quot;PanelSMS&amp;quot;].style.display=&amp;quot;none&amp;quot;;&lt;br /&gt;document.all[&amp;quot;PanelSMS&amp;quot;].style.display=&amp;quot;inline&amp;quot;;&lt;br /&gt;&amp;#26041;&amp;#27861;&amp;#19968;&amp;#38577;&amp;#34255;&amp;#24460;&amp;#38913;&amp;#38754;&amp;#30340;&amp;#20301;&amp;#32622;&amp;#36996;&amp;#34987;&amp;#25511;&amp;#20214;&amp;#20308;&amp;#29992;&amp;#21482;&amp;#26159;&amp;#19981;&amp;#39023;&amp;#31034;&amp;#39006;&amp;#20284;&amp;#26044;.net&amp;#39511;&amp;#35657;&amp;#25511;&amp;#20214;&amp;#30340;Display=Static&lt;br /&gt;&amp;#26041;&amp;#27861;&amp;#20108;&amp;#38577;&amp;#34255;&amp;#24460;&amp;#38913;&amp;#38754;&amp;#30340;&amp;#20301;&amp;#32622;&amp;#19981;&amp;#34987;&amp;#20308;&amp;#29992;&amp;#39006;&amp;#20284;&amp;#26044;.net&amp;#39511;&amp;#35657;&amp;#25511;&amp;#20214;&amp;#30340;Display=Dynamic&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1319303907412713128?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1319303907412713128/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/javascript.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1319303907412713128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1319303907412713128'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/javascript.html' title='javascript 物件導向宣告'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3865802201527501672</id><published>2009-03-25T01:18:00.000-07:00</published><updated>2009-04-09T02:04:39.756-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>ASP.NET權限不足，無法使用WINDOWS應用程式</title><content type='html'>最近遇到了個問題&lt;br /&gt;撰寫了一個web service掛載於IIS下，web service會透過SKYPE API呼叫本機電腦裡面的應用程式(SKYPE)作發送簡訊的功能。&lt;br /&gt;&lt;br /&gt;未發行至IIS下叫用都是正常的，也寫了一個windows form 來叫用確認是可以執行的&lt;br /&gt;但一發布到IIS下，偵錯時卻發生了.. client端程式 出現wait timeout..&lt;br /&gt;&lt;br /&gt;開啟web service 偵錯模式，再來看看web service怎說~&lt;br /&gt;web service先參考skype4com.dll，在程式裡new skypeclass()實體為 myskype都OK，下一步&lt;br /&gt;myskype.sendSMS("+886xxxxxxxxx","hello","") 馬上消失，就像正在處理工作一樣程式碼沒有反紅，看不到偵錯情形。&lt;br /&gt;利用try and catch把runtime error抓出來，錯誤顯示&lt;br /&gt;System.Runtime.InteropServices.COMException (0x80040200): Not attached.&lt;br /&gt;於 SKYPE4COMLib.SkypeClass.SendSms(String TargetNumbers, String MessageText, String ReplyToNumber)&lt;br /&gt;於 Service.HelloWorld() 於 c:\Inetpub\wwwroot\WSsendSKYPE2\App_Code\Service.cs: 行 70&lt;br /&gt;&lt;br /&gt;怪哉~GOOGLE了很久，沒有一個解決的方法~&lt;br /&gt;問題可能出在"安全性"問題上~&lt;br /&gt;ASP.NET預設使用者使用資源的安全性與windows應用程式預設安全性不同，所以才會有掛載在IIS下的webservice與windows form使用SKYPE.EXE權限不同!&lt;br /&gt;&lt;br /&gt;在&lt;a href="http://support.microsoft.com/kb/555134/en-us"&gt;MSDN tech&lt;/a&gt;提到安全性原則部分&lt;br /&gt;有兩個步驟:&lt;br /&gt;1.讓ASP.NET使用者權限提到最高，可以執行、讀取、寫入等等&lt;br /&gt;2.讓SKYPE檔案降低權限可以被設定的使用者群組執行、讀取等&lt;br /&gt;&lt;br /&gt;之後再在web service程式碼裡頭加上&lt;br /&gt;System.Diagnostics.Process.Start("Skype.exe"); 允許讀取到此執行檔&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System.Diagnostics.Process.Start("Skype.exe");&lt;br /&gt;錯誤顯示 :&lt;br /&gt;{"System.Web.Services.Protocols.SoapException: 伺服器無法處理要求。 ---&gt; System.ComponentModel.Win32Exception: 系統找不到指定的檔案。\n   於 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)\n   於 System.Diagnostics.Process.Start()\n   於 System.Diagnostics.Process.Start(ProcessStartInfo startInfo)\n   於 System.Diagnostics.Process.Start(String fileName)\n   於 Service..ctor() 於 c:\\Inetpub\\wwwroot\\WSsendSKYPE2\\App_Code\\Service.cs: 行 15\n   --- 內部例外狀況堆疊追蹤的結尾 ---"}&lt;br /&gt;&lt;br /&gt;挖哩，還是讀取不到~&gt;~&lt;~ 不知道是使用者群組原則是否沒有設定好，但我已經把權限都改成"完全控制"了呀?! 之後也試過了web.config 組態設定，還沒試"註冊表"修改~畢竟如果轉移網站的話，不好意思把別人的系統弄掛吧&gt;&lt;  如果web service 可以叫用額外寫的windows form(APP1)，而APP1可以使用SKYPE API進行發送簡訊，這樣也許可以完成。只要APP1的路徑掛在IIS下，但不成為ASP.net的成員。不知道這樣的觀念有沒有錯~ 終於找到了這個想法的實現方式~"遠端物件"~~~~~ 利用.net framwork 提供的 remoting namespace把windows application當作遠端物件使用~ 依然要考慮到使用者群組安全性原則~ 但是..這又是一個大議題..依目前程度要花不少時間來看。  想著這個方法的可行性入睡~~~  也許有另一個方式會比較間接，但可行性有9成!! 利用資料庫當作媒介，讓WEB SERVICE作寫入，另一隻程式做讀取判斷來執行SKYPE 一樣另外寫一個windows application，這隻程式不斷讀取資料庫作判斷。 這樣一來，windows application是在系統管理者的權限下執行而可以使用SKYPE API 再者，移動網站時，也不需要考慮到路徑的問題，只需要多安裝這個application了~ 但，這畢竟是較低級的方法，application 會不斷使用系統資源，還是使用event觸發的方式較能節省系統資源。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3865802201527501672?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3865802201527501672/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/aspnetwindows.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3865802201527501672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3865802201527501672'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/aspnetwindows.html' title='ASP.NET權限不足，無法使用WINDOWS應用程式'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1841250353690252461</id><published>2009-03-24T07:53:00.000-07:00</published><updated>2009-03-24T08:34:10.493-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>SKYPE API</title><content type='html'>&lt;h1 id="head-d92c0fc368435485d10fb09eb7994cb9cfb10579"&gt;Skype4COM reference&lt;/h1&gt;https://developer.skype.com/Docs/Skype4COM&lt;br /&gt;&lt;br /&gt;&lt;h1 id="head-645944820ce402019f6d23a34d7d8f4031622849"&gt;Examples&lt;/h1&gt;https://developer.skype.com/Docs/Examples#head-3ff2bc7e3da15010b5c305b7604c85275f971b60&lt;br /&gt;&lt;br /&gt;CLASS ref&lt;br /&gt;&lt;br /&gt;https://developer.skype.com/Docs/Skype4COMLib&lt;br /&gt;&lt;br /&gt;&lt;h1 id="head-586a10e5f0cbd537e4580dd4a9c9c7d893fb0b99"&gt;Skype4COMLib Version History&lt;/h1&gt;https://developer.skype.com/Docs/Skype4COMLib/VersionHistory&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1841250353690252461?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1841250353690252461/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/skype-api.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1841250353690252461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1841250353690252461'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/skype-api.html' title='SKYPE API'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2687133406572966697</id><published>2009-03-22T20:07:00.000-07:00</published><updated>2009-03-22T20:13:12.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>XML DOM reference</title><content type='html'>&lt;div class="h1"&gt;AJAX 的X 表示XML&lt;br /&gt;最近享用XML取代string &gt;&lt; ~ 應該比較好整理吧!&lt;br /&gt;有高亮度顯示，這個就足夠&lt;br /&gt;&lt;a href="https://studio.tellme.com/dom/ref/"&gt;&lt;b&gt;Document Object Model (DOM) Reference&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;很完整&lt;br /&gt;&lt;a href="http://krook.org/jsdom/"&gt;&lt;em&gt;JavaScript DOM&lt;/em&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://www.w3schools.com/HTMLDOM/dom_obj_document.asp"&gt;HTML DOM &lt;span class="color_h1"&gt;Document&lt;/span&gt; Object&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;div class="postTitle"&gt;   &lt;span class="postTitle2"&gt;document、element、node方法&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  &lt;/div&gt;  &lt;span style="font-size: 12pt;"&gt;document方法：&lt;br /&gt;getElementById(id)                            返回指定结点的引用&lt;br /&gt;getElementsByTagName(name)       返回文档中所有匹配的元素的集合&lt;br /&gt;createElement(name)                         创建指定类型的新结点&lt;br /&gt;createTextNode(text)                         创建一个纯文本结点&lt;br /&gt;&lt;br /&gt;element方法：&lt;br /&gt;getAttribute(id)                                   返回指定属性的值&lt;br /&gt;setAttribute(id,value)                         给属性赋值&lt;br /&gt;removeAttribute(id)                           移除指定属性和它的值&lt;br /&gt;getElementsByTagName(name)       返回结点内所有匹配的元素的集合&lt;br /&gt;&lt;br /&gt;node方法：&lt;br /&gt;appendChild(child)                             给指定结点添加一个新的子结点&lt;br /&gt;removeChild(child)                             移除指定结点的子结点&lt;br /&gt;replaceChild(newChild,oldChild)       替换指定结点的子结点&lt;br /&gt;insertBefore(newChild,refChild)       在同一层级的结点前面插入新结点&lt;br /&gt;hasChildNodes()                                 如果结点有子结点则返回true&lt;br /&gt;&lt;br /&gt;node属性：&lt;br /&gt;nodeName                                         以字符串的格式存放结点的名称&lt;br /&gt;nodeType                                           以整型数据格式存放结点的类型&lt;br /&gt;nodeValue                                          以可用的格式存放结点的值&lt;br /&gt;parentNode                                        指向结点的父结点的引用&lt;br /&gt;childNodes                                         指向子结点的引用的集合&lt;br /&gt;firstChild                                            指向子结点结合中的第一个子结点的引用&lt;br /&gt;lastChild                                             指向子结点结合中的最后一个子结点的引用&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2687133406572966697?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2687133406572966697/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/xml-dom-reference.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2687133406572966697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2687133406572966697'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/xml-dom-reference.html' title='XML DOM reference'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4184875427884383458</id><published>2009-03-21T02:09:00.000-07:00</published><updated>2009-03-21T02:11:33.956-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><title type='text'>網頁程式 IDE</title><content type='html'>&lt;a href="http://www.aptana.com/studio"&gt;Aptana&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;好像不錯用~&lt;br /&gt;網頁下方有PHP外掛可用~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4184875427884383458?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4184875427884383458/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/ide.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4184875427884383458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4184875427884383458'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/ide.html' title='網頁程式 IDE'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8345243000266494971</id><published>2009-03-16T12:25:00.000-07:00</published><updated>2009-03-16T12:34:06.564-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='會用到的= =*'/><title type='text'>windows mobile 讀取電池電源</title><content type='html'>&lt;a id="AjaxHolder_ctl01_TitleUrl" class="postTitle2" href="http://www.cnblogs.com/appleseeker/archive/2008/03/04/1090072.html"&gt;.Net Compact Framework 基础篇（1）&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesvbcs/thread/297a4011-bdb7-481c-aab8-cd915d665168/"&gt;getting the battery level in windows mobile 5.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemstate.powerbatterystrength.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemstate.powerbatterystrength.aspx"&gt;SystemState.PowerBatteryStrength Property&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8345243000266494971?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8345243000266494971/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/windows-mobile.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8345243000266494971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8345243000266494971'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/windows-mobile.html' title='windows mobile 讀取電池電源'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7844892350580325984</id><published>2009-03-14T01:40:00.000-07:00</published><updated>2009-03-14T02:07:03.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>開啟關閉 windows mobile WIFI</title><content type='html'>1.&lt;br /&gt;[DllImport("coredll.dll")]&lt;br /&gt;public static extern int DevicePowerNotify(string  device, CEDEVICE_POWER_STATE state, int flags);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[DllImport("coredll.dll")]&lt;br /&gt;public static extern int  SetDevicePower(string pvDevice, int df, CEDEVICE_POWER_STATE ds);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;没有专门针对WIFI设备的API， 但是可以通过上面两个方法，控制WIFI状态&lt;br /&gt;&lt;br /&gt;2.  ref:  http://topic.csdn.net/u/20080728/20/a5efe62a-629c-4811-add5-bc6c53fcdd5b.html&lt;br /&gt;用无线管理器ChangeRadioState函数可以指定打开或关闭某一设备,包括WIFI&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;首先使用函数HRESULT  GetWirelessDevices()获得一个设备链表，在设备链表中根据设备类型，找到wifi设备，然后调用ChangeRadioState()打开或者关闭指定的设备。 &lt;br /&gt;有关上述函数的详细使用，可以查windows mobile 6 documentation&lt;br /&gt;&lt;br /&gt;GetWirelessDevices(),ChangeRadioState()都是MS公布给OEM的标准接口，WM6都是支持的。&lt;br /&gt;&lt;br /&gt;openNETCF有，且有例子，你找找去。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;看看人家做的&lt;br /&gt;http://www.cnblogs.com/MS-Frank/archive/2008/11/14/1333664.html&lt;br /&gt;&lt;br /&gt;軟體  wifiswitch&lt;br /&gt;http://www.winbile.net/bbs/forums/threads/1014040.aspx&lt;br /&gt;http://www.pudn.com/downloads90/sourcecode/windows/comm/detail342414.html&lt;br /&gt;&lt;br /&gt;&lt;a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/ahuo/archive/2008/09/11/1288911.html"&gt;Native Wifi  api&lt;/a&gt;&lt;br /&gt;该api的可以实现windows的无线客户端的网络参数配置（WlanSetProfile）,连接指定的ap，断开连接和获得其他关于无线网络的信息（ssid,rssi等）。&lt;br /&gt;&lt;br /&gt;並且有一個斷開WIFI的範例。&lt;br /&gt;&lt;br /&gt;另一個繼續深入的搜尋資源&lt;br /&gt;http://search.pudn.com/search.asp?keyword=%20wifi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;coredll 全部的函式名稱&lt;br /&gt;http://topic.csdn.net/t/20050826/13/4233161.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7844892350580325984?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7844892350580325984/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/dllimportcoredll.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7844892350580325984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7844892350580325984'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/dllimportcoredll.html' title='開啟關閉 windows mobile WIFI'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1686176108985951112</id><published>2009-03-12T10:52:00.000-07:00</published><updated>2009-03-14T03:56:51.424-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>OpenNetCF`  Smart Device Framework（SDF）</title><content type='html'>http://blog.csdn.net/khler/archive/2008/06/27/2592008.aspx&lt;br /&gt;很遺憾，.Net Compact Framework類庫對於在Windows Mobile做應用程序開發是很不成熟的，有時候你不得不依賴於會引起諸多問題的Platform Invoke機制。 Smart Device Framework(SDF)，一個對.NetCF進行了擴展的功能庫，覆蓋了.Net Compact Framework所未觸及的區域。&lt;div&gt; &lt;/div&gt;  &lt;div&gt;        如果你之前使用.NetCF為Windows Mobiel開發過應用程序，那麼你就會發現僅僅依靠微軟提供的類庫是不能滿足所有功能需要的。在這種情況下，你不得不依賴於Platform Invoke(即通常所說的P/Invoke)——一種為了與操作系統共享數據而不得不使用的令人不快的東西。幸運的是，OpenNetCF組織推出了一個叫Smart Device Framework（SDF）的類庫，它填補了微軟.NetCF類庫的不足，將所有對操作系統的服務的調用封裝到了這個類庫中，方便基於託管代碼平台的開 發者直接訪問平台服務而不需要繁瑣的P/Invoke調用。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/dd469615.aspx"&gt;&lt;img alt="" src="http://i.msdn.microsoft.com/cc964154.space%28zh-tw,MSDN.10%29.gif" width="1" border="0" height="1" /&gt;Windows Mobile Registry 系統存取 (C#)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hi.baidu.com/xiaotown/blog/item/edf77fa721af1497d0435817.html"&gt;.NET Compact Framework使用P/Invoke服务 （二）&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/read.php?412"&gt;Windows Mobile 中开关 WIFI 的“通用”代码&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://topic.csdn.net/t/20050826/13/4233161.html"&gt;codedll.dll完整函數名稱&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/ms172548.aspx"&gt;HOW TO：在類別庫中尋找 .NET Compact Framework 的支援成員&lt;/a&gt;&lt;!----&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/btyhs18b.aspx"&gt;使用 .NET Compact Framework 進行裝置的程式設計&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/ms180719.aspx"&gt;裝置的 COM 互通性&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/26thfadc.aspx"&gt;使用 Unmanaged DLL 函式&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="left"&gt;要看DLL中有什麼內容,可以使用DumpBin.exe, 如果是ATL COM DLL, 可以使用OLE/COM Object  Viewer&lt;/p&gt;&lt;p align="left"&gt;&lt;a href="http://www.dependencywalker.com/"&gt;dll查看&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;a href="http://diybbs.zol.com.cn/frmView.php?frameon=yes&amp;amp;referer=http://diybbs.zol.com.cn/19/39_185993.html"&gt;求 DLL 入口函数查询工具&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://topic.csdn.net/u/20081114/09/def024cb-fb52-4276-bec6-a42cf3c585e5.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://topic.csdn.net/u/20080728/20/a5efe62a-629c-4811-add5-bc6c53fcdd5b.html&lt;br /&gt;&lt;br /&gt;http://www.pudn.com/login.asp&lt;br /&gt;&lt;div class="postTitle"&gt;&lt;a class="postTitle2" id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/MS-Frank/archive/2008/11/14/1333664.html"&gt;快速打开/关闭系统功能开关(CmdSwitch  For SP &amp;amp; PPC)&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://search.pudn.com/search.asp?keyword=%20wifi"&gt;豐富的搜尋資源&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/ahuo/archive/2008/09/11/1288911.html"&gt;Native Wifi  api&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pudn.com/downloads90/sourcecode/windows/comm/detail342414.html"&gt;&lt;b&gt;WiFiSwitch&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-cn/library/aa454909.aspx"&gt;使用 Windows Mobile 5.0 中的图片、视频和照相机&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa446489.aspx"&gt;使用 .NET Compact Framework 的條碼掃描器&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="majorTitle"&gt; &lt;a href="http://msdn.microsoft.com/zh-tw/library/aa454196%28en-us%29.aspx"&gt;Windows Mobile Version 5.0 SDK &lt;/a&gt;&lt;/div&gt;&lt;div class="title"&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa454196%28en-us%29.aspx"&gt;Native Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms879577.aspx"&gt;Code Samples&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1686176108985951112?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1686176108985951112/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/opennetcf-smart-device-frameworksdf.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1686176108985951112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1686176108985951112'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/opennetcf-smart-device-frameworksdf.html' title='OpenNetCF`  Smart Device Framework（SDF）'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4032609266650432711</id><published>2009-03-12T04:56:00.000-07:00</published><updated>2009-03-12T05:20:36.649-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>利用連結 iframe 內的錨點作說明頁面</title><content type='html'>在main.php裡面內嵌一個Iframe (helpinfo.php)&lt;br /&gt;在main.php 有說明列表連結，點選其中一個說明連結，讓Iframe裡的資訊呈現至說明內容的指定項目&lt;br /&gt;&lt;br /&gt;main.php&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;helpinfo.php#&amp;#35498;&amp;#26126;&amp;#38917;&amp;#30446;&amp;#19968;&amp;quot; target=&amp;quot;myIframe&amp;quot;&amp;gt;xx1&amp;#35498;&amp;#26126;&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;helpinfo.php#&amp;#35498;&amp;#26126;&amp;#38917;&amp;#30446;&amp;#20108;&amp;quot; target=&amp;quot;myIframe&amp;quot;&amp;gt;xx2&amp;#35498;&amp;#26126;&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;iframe name=&amp;quot;myIframe&amp;quot; src=&amp;quot;helpinfo.php&amp;quot; width=&amp;quot;600&amp;quot; height=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;helpinfo.php&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;A NAME=&amp;quot;&amp;#35498;&amp;#26126;&amp;#38917;&amp;#30446;&amp;#19968;&amp;quot;&amp;gt;&amp;lt;/A&amp;gt;xx1&amp;#35498;&amp;#26126;&amp;lt;p&amp;gt;&lt;br /&gt;&amp;lt;a NAME=&amp;quot;&amp;#35498;&amp;#26126;&amp;#38917;&amp;#30446;&amp;#20108;&amp;quot;&amp;gt;xx2&amp;#35498;&amp;#26126;&amp;lt;/a&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4032609266650432711?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4032609266650432711/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/iframe.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4032609266650432711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4032609266650432711'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/iframe.html' title='利用連結 iframe 內的錨點作說明頁面'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1785630706050552791</id><published>2009-03-10T12:42:00.000-07:00</published><updated>2009-03-10T12:45:59.551-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>webservice 傳送問題</title><content type='html'>傳輸時，發生&lt;br /&gt;&lt;br /&gt;用戶端找到的回應內容型別為'text/html; charset=iso-8859-1'，但需要的是'text/xml'。&lt;br /&gt;&lt;br /&gt;解:&lt;br /&gt;如果您檢視錯誤訊息的內容，會發覺這個 HTML 網頁是您瀏覽 .ASMX 檔案時所見到的。這時會產生一個疑問：當我將 XML (SOAP Envelope 的格式) 公佈到 Web 服務時，為什麼會傳回 HTML？結果就是您沒有使用 SOAP Envelope 傳送 HTTP POST 要求，卻只是傳送沒有本文的 HTTP GET 要求，而 Web 服務會適當地假設您是瀏覽器，並傳回它一般的 HTML 回應。&lt;br /&gt;&lt;br /&gt;refer&lt;br /&gt;http://www.microsoft.com/taiwan/msdn/library/2002/Sep-2002/service08062002.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1785630706050552791?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1785630706050552791/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/webservice.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1785630706050552791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1785630706050552791'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/webservice.html' title='webservice 傳送問題'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6695700406474054002</id><published>2009-03-08T15:09:00.000-07:00</published><updated>2009-03-08T15:26:47.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>網頁問題（暫存）</title><content type='html'>目前發現的&lt;br /&gt;&lt;br /&gt;１.在做歷史軌跡部分，時間比對在０：００～０１：００時間不會顯示。&lt;br /&gt;之前還莫名其妙的在想是不是網站掛了＞＜　因為每次開啟都不一樣問題～不同瀏覽器也有問題～&lt;br /&gt;&lt;br /&gt;2. 行動排程 按下區域應該要顯示設定的區域!&lt;br /&gt;&lt;br /&gt;3.行動排程應該要加上時間設定(這個頭大)&lt;br /&gt;&lt;br /&gt;3.要可以修改會員資料，並顯示資訊以及刪除功能&lt;br /&gt;&lt;br /&gt;4.系統說明頁面未寫&lt;br /&gt;&lt;br /&gt;5.寄發E-mail驗證未寫&lt;br /&gt;&lt;br /&gt;6.歷史軌跡應該從有資訊的時間點開始&lt;br /&gt;&lt;br /&gt;7.歷史資訊控制相要加入暫停紐(不知道有沒有thread的功能)&lt;br /&gt;&lt;br /&gt;8.區域設定可以加入MRT設定&lt;br /&gt;&lt;br /&gt;9.PDA端可以加入POWER節省控制&lt;br /&gt;&lt;br /&gt;10.PDA佈署要在自動安裝在最右下角&lt;br /&gt;&lt;br /&gt;11.要加入關閉螢幕背光設定&lt;br /&gt;&lt;br /&gt;12.網頁控制項應該加入過濾精準度的能力&lt;br /&gt;&lt;br /&gt;13.歷史軌跡應該加入畫線速度拉軸 (慢 中 快) 或是 開始/暫停 後快轉 停止 前快轉&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6695700406474054002?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6695700406474054002/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post_4229.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6695700406474054002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6695700406474054002'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post_4229.html' title='網頁問題（暫存）'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6302968738784307775</id><published>2009-03-08T14:59:00.000-07:00</published><updated>2009-03-08T15:08:00.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>使用ＰＨＰ撰寫網頁程式</title><content type='html'>剛開始學習網頁設計時，網站的設計比預期的還來的大～&lt;br /&gt;重複的演算法與功能函式挺多的，以致於現在看到網頁源碼頭都很大＞＜　&lt;br /&gt;早知道　就該用物件導向的寫法了～&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Object Oriented Programming (OOP) 最重要的概念有三種:&lt;/p&gt; &lt;ol&gt;&lt;li&gt; 封裝 (encapsulation)  &lt;/li&gt;&lt;li&gt; 繼承 (Inheritance)  &lt;/li&gt;&lt;li&gt; 多型 (Polymorphism) &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;參考這篇，學一下物件導向寫法的基本使用方式吧～&lt;br /&gt;&lt;a href="http://blog.phptw.idv.tw/read-44.html"&gt;物件導向 類 class&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;php官網有更詳細的範例說明　&lt;a href="http://www.php.net/manual/en/language.oop5.basic.php"&gt;The Basics（ＰＨＰ官網）&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6302968738784307775?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6302968738784307775/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post_08.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6302968738784307775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6302968738784307775'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post_08.html' title='使用ＰＨＰ撰寫網頁程式'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6673545079888880201</id><published>2009-03-08T14:05:00.000-07:00</published><updated>2009-03-08T14:15:18.630-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>開啟/關閉 WIFI 裝置</title><content type='html'>問題&lt;br /&gt;http://topic.csdn.net/u/20080728/20/a5efe62a-629c-4811-add5-bc6c53fcdd5b.html&lt;br /&gt;&lt;br /&gt;解法&lt;br /&gt;&lt;br /&gt;&lt;a href="read.php?412"&gt;Windows Mobile 中开关 WIFI 的“通用”代码&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemstate.wifistatepoweron.aspx"&gt;SystemState.WiFiStatePowerOn Property&lt;/a&gt;　　讀取ＷＩＦＩ狀態的屬性，但無法設置開關&lt;br /&gt;英文的 &gt;&lt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/forums/en-US/vssmartdevicesvbcs/thread/a4f9f41d-47a8-4080-8613-2c2ddcf4c012/"&gt;&lt;span style="font-weight: bold;"&gt;Deactivate /Activate all Services like (Internet,WIFI,Bluetooth,WLAN..)&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/forums/en-US/vssmartdevicesvbcs/thread/c06eea82-574f-4512-8ad4-dcfee1423a78/"&gt;Enabling Radio in the Windows Mobile 5.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/ef121f32-d0fd-4f7e-9125-391f9a47a377/"&gt;WiFi Power On Event&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;開啟Ｄ０　關閉Ｄ４&lt;br /&gt;&lt;p&gt;We can implement this functionality with ease. Hope this can give your some  idea.&lt;/p&gt; &lt;p&gt;See the code below:&lt;/p&gt; &lt;p&gt;// D0 indicates open; D4 indicates close;&lt;/p&gt; &lt;p&gt;CEDEVICE_POWER_STATE state = D0;&lt;/p&gt; &lt;p&gt;HRESULT hr = SetDevicePower(TEXT(""),POWER_NAME,state);&lt;/p&gt; &lt;p&gt;Note: We use SetDevicePower function here. It sets the device power state for  a device.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;1st parameter: specify the device.&lt;/li&gt;&lt;li&gt;2nd parameter: we use POWER_NAME here to indicate that the first parameter  is just a device name.&lt;/li&gt;&lt;li&gt;3rd parameter: sets the power state.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;In order to get information in details, you can find it in MSDN. Thanks!&lt;/p&gt; &lt;p&gt;Regards,&lt;/p&gt; &lt;p&gt;Zero Dai - MSFT&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;之後&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb158740.aspx"&gt;Battery Status&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb158699.aspx"&gt;GPS Application&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb158760.aspx"&gt;Mobile GPS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6673545079888880201?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6673545079888880201/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/wifi.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6673545079888880201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6673545079888880201'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/wifi.html' title='開啟/關閉 WIFI 裝置'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8566267197169535207</id><published>2009-03-05T09:38:00.000-08:00</published><updated>2009-03-05T23:20:54.284-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='執行緒'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>在不同執行緒下存取UI控制項(textbox  combobox)</title><content type='html'>問題描述 :在不同執行緒下呼叫方法，方法裡面需要存取主執行緒下的UI控制項&lt;br /&gt;&lt;br /&gt;解法:&lt;br /&gt;&lt;p&gt;1.Form.CheckForIllegalCrossThreadCalls = False &lt;/p&gt;&lt;p&gt;2.建立委派 &lt;/p&gt;&lt;p&gt;3.使用&lt;a href="http://msdn.microsoft.com/zh-tw/library/system.componentmodel.backgroundworker%28VS.95%29.aspx"&gt;BackgroundWorker&lt;/a&gt; &lt;/p&gt;&lt;div class="title"&gt;&lt;br /&gt;&lt;!----&gt;&lt;/div&gt;這裡介紹第二種&lt;br /&gt;&lt;br /&gt;首先在windows.form 的 onload事件建置一條執行緒&lt;br /&gt;&lt;br /&gt;compareandprintout = new Thread(new ThreadStart(MRTcompareThread));&lt;br /&gt;        compareandprintout.Start();&lt;br /&gt;&lt;br /&gt;這條thread 會執行compare()方法，存取UI控制項的程式就寫在裡面(存取textbox,combobox)&lt;br /&gt;public void MRTcompareThread()&lt;br /&gt;{&lt;br /&gt;         compare(); //裡面有無限迴圈&lt;br /&gt;}&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;委派的建立!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.建立方法&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;    publik int XXmethod(int a, int b);&lt;br /&gt;&lt;p&gt;&lt;strong&gt;2.宣告委派；委派參數，需要與被呼叫的方法一樣，包含回傳型別 (&lt;/strong&gt;相同 signature)  &lt;/p&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;   private&lt;/span&gt; &lt;span&gt;delegate&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; XXDelegate();&lt;/pre&gt;&lt;pre&gt;&lt;span&gt;   private&lt;/span&gt; &lt;span&gt;delegate&lt;/span&gt; &lt;span&gt;int&lt;/span&gt; XXDelegate(&lt;span&gt;int&lt;/span&gt; a, &lt;span&gt;int&lt;/span&gt; b);&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.引用委派(實體化)，後指定方法&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;   XXDelegate d = &lt;span&gt;new&lt;/span&gt; XXDelegate(XXMethod);  //參考的方法只要名稱就可以了&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;strong&gt;4.呼叫函數&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;    invoke();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;真的開始囉~~&lt;br /&gt;&lt;br /&gt;於class form1裡宣告委派&lt;br /&gt;&lt;br /&gt;    delegate void SetTextCallback(Control ctl,String str);        設置textbox.text&lt;br /&gt;    delegate string GetTextCallback(Control ctl);                      讀取textbox.text&lt;br /&gt;    delegate string GetCBTextCallback(ComboBox ctl, int i);  讀取ComboBox&lt;br /&gt;    delegate string GetCBTextCallback(Listcontrol ctl, int i);  讀取ComboBox&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;另外要寫委派方法&lt;br /&gt;public string gettext(Control ctl)&lt;br /&gt;{&lt;br /&gt;  &lt;span style="color: rgb(51, 102, 255);"&gt;  if (this.InvokeRequired)&lt;/span&gt;  //&lt;span style="color:green;"&gt;InvokeRequired required compares the thread ID of the&lt;/span&gt;     &lt;span style="color:green;"&gt;// calling thread to the thread ID of the creating thread.&lt;/span&gt;     &lt;span style="color:green;"&gt;// If these threads are different, it returns true.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        GetTextCallback d = new GetTextCallback(gettext);&lt;br /&gt;        //       this.Invoke(d);&lt;br /&gt;        string x;&lt;br /&gt;        x =(string) this.Invoke(d, new Object[] { ctl });&lt;br /&gt;        return x;&lt;br /&gt;   &lt;span style="color: rgb(51, 102, 255);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;            else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;            {&lt;/span&gt;&lt;br /&gt;        return ctl.Text;&lt;br /&gt;   &lt;span style="color: rgb(51, 102, 255);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;public void settext(Control ctl,String str)&lt;br /&gt;{&lt;br /&gt;  &lt;span style="color: rgb(204, 255, 255);"&gt;  if (this.InvokeRequired)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(51, 204, 255);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;                SetTextCallback s = new SetTextCallback(settext);       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;                this.Invoke(s, ctl, str );&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;            else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;                 ctl.Text = str;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;            }&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;public string getCBtext(ComboBox ctl, int i)&lt;br /&gt;{&lt;br /&gt;    if (this.InvokeRequired)&lt;br /&gt;    {&lt;br /&gt;  &lt;span style="color: rgb(51, 204, 0);"&gt;  string try1 =    ctl.GetItemText(i);  //i = 1  2  3 4 遞增,奇怪~難道我誤會MSDN? 給出來的是combobox的item索引&lt;/span&gt;&lt;br /&gt;        string try2 = (string)ctl.Items[i];//&lt;br /&gt;&lt;br /&gt;        GetCBTextCallback Gcb = new GetCBTextCallback(getCBtext); //建立&lt;br /&gt;        string x;&lt;br /&gt;        x = (string)this.Invoke(Gcb, ctl, i);&lt;br /&gt;        return x;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;        return (string) ctl.Items[i];&lt;br /&gt;//              return ctl.GetItemText(i);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;在非產生UI控制項的副執行緒主程式 compare裡面有&lt;br /&gt;&lt;br /&gt;while(true)&lt;br /&gt;{&lt;br /&gt;for (i = 1; i &lt; style="color: rgb(51, 204, 255);"&gt; getCBtext(comboBox1,i) &amp;amp;&amp;amp; startstation == true)&lt;br /&gt;           &lt;span style="color: rgb(255, 0, 0);"&gt; //if (nowBox.Text == comboBox1.Items[i].ToString() )&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;              &lt;span style="color: rgb(255, 0, 0);"&gt;  //onBox.Text = comboBox1.Items[i].ToString();&lt;/span&gt;  //debug會出錯(不同控制項執行緒叫用 ... 我忘了)&lt;br /&gt;                string y = getCBtext(comboBox1,i) ;&lt;br /&gt;                settext(onBox, y); //叫用方法，自動判斷叫用invoke&lt;br /&gt;                &lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;for (i = 1; i &lt; style="color: rgb(255, 0, 0);"&gt;// if (onBox.Text == comboBox1.Items[i].ToString())&lt;br /&gt;            {&lt;br /&gt;                if (goal &gt; getonposition)&lt;br /&gt;                {&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                           //nexterrorstop = comboBox1.Items[i - 1].ToString();&lt;/span&gt;&lt;br /&gt;                   nexterrorstop = getCBtext(comboBox1,i-1);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    nexterrorstop = "error";&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;VB版  &lt;/span&gt;&lt;br /&gt;一樣 ，先建立一個拿來更新 UI 的方法( UpdateUI)，再建立一個有相同 signature 的委派(  UpdateUICallBack)&lt;br /&gt;&lt;br /&gt;Private Delegate Sub UpdateUICallBack(ByVal newText  As String, ByVal c As Control)&lt;br /&gt;&lt;br /&gt;Private Sub UpdateUI(ByVal newText As  String, ByVal c As Control)&lt;br /&gt;If Me.InvokeRequired() Then&lt;br /&gt;     Dim cb As New UpdateUICallBack(AddressOf UpdateUI)&lt;br /&gt;     Me.Invoke(cb, newText, c)&lt;br /&gt;Else&lt;br /&gt;    c.Text = newText&lt;br /&gt; End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ref:&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://huan-lin.blogspot.com/2009/01/windows.html"&gt;舊文重發：Windows 表單與多執行緒&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/ms171728%28VS.80%29.aspx"&gt;HOW TO：進行對 Windows Form 控制項的安全執行緒呼叫&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;br /&gt;&lt;a href="http://yaochang.spaces.live.com/"&gt;VB/ VBA/ C#/ Java/ C++ 語言學習筆記&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8566267197169535207?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8566267197169535207/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/uitextbox-combobox.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8566267197169535207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8566267197169535207'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/uitextbox-combobox.html' title='在不同執行緒下存取UI控制項(textbox  combobox)'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2032549612182202134</id><published>2009-03-04T02:30:00.000-08:00</published><updated>2009-03-04T11:07:33.845-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='會用到的= =*'/><title type='text'>執行緒 事件 委派 回呼</title><content type='html'>&lt;a href="http://msdn.microsoft.com/zh-tw/dd469615.aspx"&gt;Windows Mobile Registry 系統存取 (C#)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/dd490983.aspx"&gt;如何使用 Native Code 開發的 DLL (C#)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/dd421908.aspx"&gt;Windows Mobile 開發常用工具介紹&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/dd490983.aspx"&gt;如何使用 Native Code 開發的 DLL (C#)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://phone.idv.tw/cs2/forums/thread/575.aspx"&gt;NET 事件與委派詳論 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/ms173171.aspx"&gt;委派 (C# 程式設計手冊)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wretch.cc/blog/jumascould/13887674"&gt;用故事講事件與委派&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://map.answerbox.net/landmark-753281.htm"&gt;callback function&lt;/a&gt;&lt;br /&gt;當你沒有辦法知道什麼時候會呼叫到這個function的時候。假如你有一個thread的程式，你希望thread在做完什麼事情之後，去通知主程序的的某個function要執行這時候因為主程序不會知道thread什麼時候做完事情，所以會讓thread裡面知道主程序裡要執行的那個function的function pointer，這樣子thread就會知道在自己完成什麼事情後自己執行那個function，而不用讓主程序知道。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2032549612182202134?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2032549612182202134/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/windows-mobile-registry-c-native-code.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2032549612182202134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2032549612182202134'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/windows-mobile-registry-c-native-code.html' title='執行緒 事件 委派 回呼'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5541561858870368471</id><published>2009-03-04T02:12:00.000-08:00</published><updated>2009-03-04T02:14:05.836-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><title type='text'>行動運算-機器人能教您什麼？</title><content type='html'>炫喔~&lt;br /&gt;用藍芽技術做機器人 WIMO&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/magazine/cc748660.aspx"&gt;http://msdn.microsoft.com/zh-tw/magazine/cc748660.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5541561858870368471?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5541561858870368471/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5541561858870368471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5541561858870368471'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/blog-post.html' title='行動運算-機器人能教您什麼？'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7470060359622892067</id><published>2009-03-04T00:36:00.000-08:00</published><updated>2009-03-04T01:51:03.518-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>尚須解決PDA端問題-暫存</title><content type='html'>function1&lt;br /&gt;需於PDA  設定-&gt;連線-&gt;Wi-Fi-&gt;要存取的網路:僅存取點&lt;br /&gt;要找開啟或關閉無線網路的API&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7470060359622892067?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7470060359622892067/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/pda.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7470060359622892067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7470060359622892067'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/03/pda.html' title='尚須解決PDA端問題-暫存'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6280974847961286249</id><published>2009-02-23T19:56:00.000-08:00</published><updated>2009-02-23T22:47:40.875-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><title type='text'>Device Emulator 透過 ActiveSync方式上網</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTVHUy5toYM/SaNz-ChV1JI/AAAAAAAAAt0/zzrrICkJGQc/s1600-h/1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 201px;" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SaNz-ChV1JI/AAAAAAAAAt0/zzrrICkJGQc/s320/1.png" alt="" id="BLOGGER_PHOTO_ID_5306212295638373522" border="0" /&gt;&lt;/a&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;工具&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;-&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;裝置模擬&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt; &lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;器管理員&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTVHUy5toYM/SaNz-GiT-XI/AAAAAAAAAts/8kq6J98o_Xs/s1600-h/2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SaNz-GiT-XI/AAAAAAAAAts/8kq6J98o_Xs/s320/2.png" alt="" id="BLOGGER_PHOTO_ID_5306212296716188018" border="0" /&gt;&lt;/a&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="OneNote.File"&gt;&lt;meta name="Generator" content="Microsoft OneNote 12"&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;選擇&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt; windows mobile5.0&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;示範&lt;/span&gt;&lt;/p&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;STEP1. &lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;選擇&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt; windows mobile5.0 Pocket PC Emulator&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;右鑑&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;-&gt;connect&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SaNz-C3g_6I/AAAAAAAAAtk/GYCDkVHQRiM/s1600-h/3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 126px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SaNz-C3g_6I/AAAAAAAAAtk/GYCDkVHQRiM/s320/3.png" alt="" id="BLOGGER_PHOTO_ID_5306212295731380130" border="0" /&gt;&lt;/a&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="OneNote.File"&gt;&lt;meta name="Generator" content="Microsoft OneNote 12"&gt;  &lt;p style="margin: 0in; font-family: PMingLiU; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: PMingLiU; font-size: 12pt;"&gt;出現綠色開始鍵，並且跳出模擬器畫面&lt;/p&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;STEP2.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;開啟&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt; Microsoft ActiveSync-&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;檔案&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;-&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;連線設定&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SaNz92fJmtI/AAAAAAAAAtc/zR3FKkg1mxc/s1600-h/4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 273px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SaNz92fJmtI/AAAAAAAAAtc/zR3FKkg1mxc/s320/4.png" alt="" id="BLOGGER_PHOTO_ID_5306212292407958226" border="0" /&gt;&lt;/a&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="OneNote.File"&gt;&lt;meta name="Generator" content="Microsoft OneNote 12"&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;允許連線到下列其中一個裝置&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;-&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;選擇&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;DMA(direct memory access)&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 12pt;" lang="en-US"&gt; &lt;/p&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;STEP3.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:新細明體;"&gt;回到裝置模擬器管理器&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SaNz91QF8WI/AAAAAAAAAtU/0_CHF2VdmBs/s1600-h/5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 225px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SaNz91QF8WI/AAAAAAAAAtU/0_CHF2VdmBs/s320/5.png" alt="" id="BLOGGER_PHOTO_ID_5306212292076368226" border="0" /&gt;&lt;/a&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="OneNote.File"&gt;&lt;meta name="Generator" content="Microsoft OneNote 12"&gt;  &lt;p  style="margin: 0in;font-size:12pt;"&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;右鍵&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;-&gt;&lt;/span&gt;&lt;span  lang="zh-TW" style="font-family:PMingLiU;"&gt;連結底座&lt;/span&gt;&lt;span  lang="en-US" style="font-family:Calibri;"&gt;(Cradle)&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 12pt;" lang="en-US"&gt; &lt;/p&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 12pt;" lang="en-US"&gt;End!!!&lt;/p&gt;&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;我..真的是太淺了..現在才知道&lt;br /&gt;MSDN原來還有影片教學~~好物啊~&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/cc963620.aspx"&gt;MSDN教學影片&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6280974847961286249?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6280974847961286249/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/device-emulator-activesync.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6280974847961286249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6280974847961286249'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/device-emulator-activesync.html' title='Device Emulator 透過 ActiveSync方式上網'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BTVHUy5toYM/SaNz-ChV1JI/AAAAAAAAAt0/zzrrICkJGQc/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6864131795423472725</id><published>2009-02-23T01:15:00.001-08:00</published><updated>2009-02-25T14:07:20.913-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><title type='text'>webservice使用</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;逐步解說：使用 Visual Basic 或 Visual C# 存取 XML Web Service&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;遵循步驟，取代使用PDA windows應用程式範本&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTVHUy5toYM/SaJr6Nmo5dI/AAAAAAAAAsk/3n9MjHjOavA/s1600-h/6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 237px;" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SaJr6Nmo5dI/AAAAAAAAAsk/3n9MjHjOavA/s320/6.png" alt="" id="BLOGGER_PHOTO_ID_5305921958824175058" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;並且新增一行程式碼&lt;/p&gt;&lt;p&gt;ws.Url = "http://XXX.XXX.XXX.XXX/webservice所處位置/方法代理名稱";&lt;br /&gt;&lt;/p&gt;&lt;p&gt;新增程式碼&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SaJp5uMXuZI/AAAAAAAAAsU/ssgVkWea7sA/s1600-h/%E6%89%8B%E6%A9%9F%E9%A0%81%E9%9D%A23.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 206px; height: 320px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SaJp5uMXuZI/AAAAAAAAAsU/ssgVkWea7sA/s320/%E6%89%8B%E6%A9%9F%E9%A0%81%E9%9D%A23.png" alt="" id="BLOGGER_PHOTO_ID_5305919751369243026" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;模擬器手機顯示&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;span style="font-size:12;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;如何開啟模擬器PDA 網路連線呢??&lt;br /&gt;&lt;/p&gt;&lt;p&gt;目前還不知道怎麼連，但佈署到手機上啟用3G連線是沒問題的&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290757%28VS.71%29.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6864131795423472725?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6864131795423472725/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/webservice.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6864131795423472725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6864131795423472725'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/webservice.html' title='webservice使用'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTVHUy5toYM/SaJr6Nmo5dI/AAAAAAAAAsk/3n9MjHjOavA/s72-c/6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2824655060967807476</id><published>2009-02-22T07:13:00.000-08:00</published><updated>2009-02-23T01:41:55.320-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><title type='text'>webservice V2</title><content type='html'>&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa290754%28VS.71%29.aspx"&gt;逐步解說：使用 Visual Basic 或 Visual C# 建立 XML Web Service&lt;/a&gt;&lt;br /&gt;包含4個部分，第三部分之前有提過，就不在這說了&lt;br /&gt;&lt;ul type="disc"&gt;&lt;li&gt;使用 ASP.NET Web 服務專案範本，建立 XML Web Service。&lt;/li&gt;&lt;li&gt;實作 XML Web Service。&lt;/li&gt;&lt;li&gt;在偵錯模式下執行 XML Web Service。&lt;/li&gt;&lt;li&gt;部署 XML Web Service。&lt;/li&gt;&lt;/ul&gt;step1.    增加程式碼描述位置資訊&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTVHUy5toYM/SaJtzvSOeeI/AAAAAAAAAtM/wLQmRZnfDbQ/s1600-h/v2+%E6%96%B0%E5%A2%9E%E7%A8%8B%E5%BC%8F%E7%A2%BC1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 102px;" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SaJtzvSOeeI/AAAAAAAAAtM/wLQmRZnfDbQ/s320/v2+%E6%96%B0%E5%A2%9E%E7%A8%8B%E5%BC%8F%E7%A2%BC1.png" alt="" id="BLOGGER_PHOTO_ID_5305924046629534178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;增加方法函式&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SaJtzkGzugI/AAAAAAAAAtE/35Z413_fSc4/s1600-h/v2%E4%BF%AE%E6%94%B9class2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 102px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SaJtzkGzugI/AAAAAAAAAtE/35Z413_fSc4/s320/v2%E4%BF%AE%E6%94%B9class2.png" alt="" id="BLOGGER_PHOTO_ID_5305924043628853762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;step2.   增加專案-&gt;WEB安終佈署。建置WEB安裝程式&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTVHUy5toYM/SaJtzbJG-JI/AAAAAAAAAs8/DNAGPDGT8CI/s1600-h/v2%E5%BB%BA%E7%BD%AEweb%E5%AE%89%E8%A3%9D%E7%A8%8B%E5%BC%8F3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 194px;" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SaJtzbJG-JI/AAAAAAAAAs8/DNAGPDGT8CI/s320/v2%E5%BB%BA%E7%BD%AEweb%E5%AE%89%E8%A3%9D%E7%A8%8B%E5%BC%8F3.png" alt="" id="BLOGGER_PHOTO_ID_5305924041222584466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;step3.   與PDA佈署應用程式建立相同&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTVHUy5toYM/SaJtzM5b1yI/AAAAAAAAAss/9ME7R074R6I/s1600-h/v2%E6%96%B9%E6%A1%88%E7%B8%BD%E7%AE%A1+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 295px; height: 247px;" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SaJtzM5b1yI/AAAAAAAAAss/9ME7R074R6I/s320/v2%E6%96%B9%E6%A1%88%E7%B8%BD%E7%AE%A1+5.png" alt="" id="BLOGGER_PHOTO_ID_5305924037398746914" border="0" /&gt;&lt;/a&gt;點擊新建的安裝程式專案 右鑑，輸出!!&lt;br /&gt;step4.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTVHUy5toYM/SaJtzFpkdvI/AAAAAAAAAs0/1gFhQeC6a1w/s1600-h/v2%E5%BB%BA%E7%BD%AEweb%E5%AE%89%E8%A3%9D%E7%A8%8B%E5%BC%8F4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 287px; height: 320px;" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SaJtzFpkdvI/AAAAAAAAAs0/1gFhQeC6a1w/s320/v2%E5%BB%BA%E7%BD%AEweb%E5%AE%89%E8%A3%9D%E7%A8%8B%E5%BC%8F4.png" alt="" id="BLOGGER_PHOTO_ID_5305924035453155058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;到這裡就建置完成了~~&lt;br /&gt;&lt;br /&gt;&lt;a href="http://netcomclarkboy.blogspot.com/2009/02/webservice.html"&gt;逐步解說：使用 Visual Basic 或 Visual C# 存取 XML Web Service&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2824655060967807476?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2824655060967807476/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/webservice-v2.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2824655060967807476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2824655060967807476'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/webservice-v2.html' title='webservice V2'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTVHUy5toYM/SaJtzvSOeeI/AAAAAAAAAtM/wLQmRZnfDbQ/s72-c/v2+%E6%96%B0%E5%A2%9E%E7%A8%8B%E5%BC%8F%E7%A2%BC1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-9023166628870440102</id><published>2009-02-18T23:53:00.000-08:00</published><updated>2009-02-19T00:26:07.013-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>scoket傳送封包流過長</title><content type='html'>趁著從台北開會搭公車回來,測試研究的系統穩定度&lt;br /&gt;發現搭車到到一半時就發生過長時間才收到server的回應&lt;br /&gt;最後一筆有效紀錄(經web server過濾後所顯示)的地圖標點&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTVHUy5toYM/SZ0ROdhKpII/AAAAAAAAAqc/CJKnX6nRQcE/s1600-h/%E6%9C%80%E5%BE%8C%E4%B8%80%E7%AD%86%E8%B3%87%E6%96%99map.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 378px;" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SZ0ROdhKpII/AAAAAAAAAqc/CJKnX6nRQcE/s400/%E6%9C%80%E5%BE%8C%E4%B8%80%E7%AD%86%E8%B3%87%E6%96%99map.png" alt="" id="BLOGGER_PHOTO_ID_5304414876251890818" border="0" /&gt;&lt;/a&gt;都來沒走一半呢...&lt;br /&gt;回到研究室看看debug訊息~&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTVHUy5toYM/SZ0ROEjo2UI/AAAAAAAAAqU/Ltad2aH35xE/s1600-h/%E7%A8%8B%E5%BC%8F%E5%81%B5%E9%8C%AF%E9%A0%81%E9%9D%A2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 99px;" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SZ0ROEjo2UI/AAAAAAAAAqU/Ltad2aH35xE/s400/%E7%A8%8B%E5%BC%8F%E5%81%B5%E9%8C%AF%E9%A0%81%E9%9D%A2.png" alt="" id="BLOGGER_PHOTO_ID_5304414869551372610" border="0" /&gt;&lt;/a&gt;怪哉~ 再看console&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SZ0ROK4OrYI/AAAAAAAAAqM/ZHzaWg-I_fg/s1600-h/%E9%8C%AF%E8%AA%A4%E8%B3%87%E6%96%99%E9%96%8B%E5%A7%8B.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 146px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SZ0ROK4OrYI/AAAAAAAAAqM/ZHzaWg-I_fg/s400/%E9%8C%AF%E8%AA%A4%E8%B3%87%E6%96%99%E9%96%8B%E5%A7%8B.png" alt="" id="BLOGGER_PHOTO_ID_5304414871248350594" border="0" /&gt;&lt;/a&gt;不知道什麼原因造成多筆記錄在同一筆傳送&lt;br /&gt;socket封包支援到1024byte，一旦超過，傳送的data stream 就會被截斷在下一個封包繼續傳送&lt;br /&gt;如果網路狀況不擁擠(小於1024byte)，那麼頂多只會loss掉幾筆資料..&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTVHUy5toYM/SZ0ROPrw6wI/AAAAAAAAAqE/HOkUcROK2ZA/s1600-h/%E6%9C%80%E5%BE%8C%E4%B8%80%E7%AD%86%E9%8C%AF%E8%AA%A4%E8%B3%87%E6%96%99.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 124px;" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SZ0ROPrw6wI/AAAAAAAAAqE/HOkUcROK2ZA/s400/%E6%9C%80%E5%BE%8C%E4%B8%80%E7%AD%86%E9%8C%AF%E8%AA%A4%E8%B3%87%E6%96%99.png" alt="" id="BLOGGER_PHOTO_ID_5304414872538245890" border="0" /&gt;&lt;/a&gt;但如果遇到split(,)，剛好data資料開頭剛好是","  程式裡頭判斷所欲存之值為空..就會發生錯誤(格式不對)&lt;br /&gt;&lt;br /&gt;看看資料庫就知道...多糟了&gt;&lt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTVHUy5toYM/SZ0RN0SmIuI/AAAAAAAAAp8/HRZBP9UGmDw/s1600-h/mysql%E9%A1%AF%E7%A4%BA%E5%95%8F%E9%A1%8C.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 291px;" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SZ0RN0SmIuI/AAAAAAAAAp8/HRZBP9UGmDw/s400/mysql%E9%A1%AF%E7%A4%BA%E5%95%8F%E9%A1%8C.png" alt="" id="BLOGGER_PHOTO_ID_5304414865184924386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;看樣子，要避開這種情況目前想到只有&lt;br /&gt;&lt;ol&gt;&lt;li&gt;修改每次傳送封包格式的大小，能整除1024(目前一筆資料大小為76byte以下)，這樣就能確保所存資料格式正確&lt;br /&gt;但server程式部分要限制每個欄位的資料大小，之後如果PDA要新增傳送資料，要再修改 重算能整除值...而對定位而言，更會遺失至多12筆資料(1024/76=13.47)&lt;/li&gt;&lt;li&gt;server程式先行判斷所收到資料筆數(依封包大小)，再複雜變數儲存判斷，但好像遇到封包過大，還是有stream被截的問題...&lt;/li&gt;&lt;li&gt;搜尋stream buffer相關.. 迫使程式接收一定是一筆一筆進來分析.&lt;/li&gt;&lt;/ol&gt;看樣子 方法三應該是比較簡單的，不用修改太多程式碼，要花時間的是找stream buffer部分的知識了~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-9023166628870440102?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/9023166628870440102/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/scoket.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9023166628870440102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9023166628870440102'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/scoket.html' title='scoket傳送封包流過長'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BTVHUy5toYM/SZ0ROdhKpII/AAAAAAAAAqc/CJKnX6nRQcE/s72-c/%E6%9C%80%E5%BE%8C%E4%B8%80%E7%AD%86%E8%B3%87%E6%96%99map.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8186337952903385552</id><published>2009-02-18T22:38:00.001-08:00</published><updated>2009-04-24T15:12:12.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>AJAX概述</title><content type='html'>AJAX 也不是一項單獨的技術，它是由一堆現有的技術所組成的集合&lt;br /&gt;它的組成技術有：&lt;br /&gt;(1)XHTML(或者 HTML)加上CSS 來作為資料的呈現。&lt;br /&gt;(2)利用DOM 以及JavaScript 來進行存取資料(大多為XML)的處理。&lt;br /&gt;(3)利用XMLHttpRequest 物件與遠端的Web server 進行非同步的資料交換。&lt;br /&gt;&lt;br /&gt;而AJAX 核心技術為XMLHttpRequest，其物件方法與屬性列於下&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SfI4u9MmrxI/AAAAAAAAAzU/p0C-iG0GnDI/s1600-h/%E6%A8%99%E6%BA%96XMLHttpRequest%E6%93%8D%E4%BD%9C.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 396px; height: 248px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SfI4u9MmrxI/AAAAAAAAAzU/p0C-iG0GnDI/s320/%E6%A8%99%E6%BA%96XMLHttpRequest%E6%93%8D%E4%BD%9C.png" alt="" id="BLOGGER_PHOTO_ID_5328383688485285650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTVHUy5toYM/SfI4un1t5sI/AAAAAAAAAzM/UWGyN_zM1UM/s1600-h/%E6%A8%99%E6%BA%96XMLHttpRequest%E5%B1%AC%E6%80%A7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 382px; height: 244px;" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SfI4un1t5sI/AAAAAAAAAzM/UWGyN_zM1UM/s320/%E6%A8%99%E6%BA%96XMLHttpRequest%E5%B1%AC%E6%80%A7.png" alt="" id="BLOGGER_PHOTO_ID_5328383682752145090" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTVHUy5toYM/SaEo8Ogv4YI/AAAAAAAAAqs/BJdmGgMUO-0/s1600-h/%E5%9C%A8+Web+%E6%9C%8D%E5%8B%99%E7%B6%B2%E7%AB%99%E4%B8%AD%E5%95%9F%E7%94%A8%E5%81%B5%E9%8C%AF.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8186337952903385552?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8186337952903385552/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/net.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8186337952903385552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8186337952903385552'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/net.html' title='AJAX概述'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_BTVHUy5toYM/SfI4u9MmrxI/AAAAAAAAAzU/p0C-iG0GnDI/s72-c/%E6%A8%99%E6%BA%96XMLHttpRequest%E6%93%8D%E4%BD%9C.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1837188932468116194</id><published>2009-02-17T05:19:00.000-08:00</published><updated>2009-02-17T21:16:30.319-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>關於Blogger 的使用與擴充</title><content type='html'>這個網站不錯，都是在講Blogger的功能&lt;br /&gt;&lt;h2 class="red"&gt;&lt;a href="http://www.blogcatalog.com/blogs/skyvees-blog/posts/tag/blogger%20tips/"&gt;Skyvee's blog&lt;/a&gt;&lt;/h2&gt;這篇~BLOGGER+domain name&lt;br /&gt;&lt;h3 class="post-title"&gt;&lt;a href="http://skyvee.net/2008/02/blogger-domain-name.html"&gt;如何為部落格 blogger 自訂網域(domain name)?&lt;/a&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1837188932468116194?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1837188932468116194/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/blogger.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1837188932468116194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1837188932468116194'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/blogger.html' title='關於Blogger 的使用與擴充'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7398197402832420930</id><published>2009-02-17T05:00:00.000-08:00</published><updated>2009-04-24T14:44:30.266-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vs2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>web service 建置與使用</title><content type='html'>遵循書上範例建立web service ,建立完成後都繪有個基本的web method ==&gt; helloword()&lt;br /&gt;當按下執行紐，就會跳出兩個選項&lt;br /&gt;&lt;ol&gt;&lt;li&gt;建立web.config 以提供偵錯功能&lt;/li&gt;&lt;li&gt;Ctrl+F5略過偵錯來執行&lt;/li&gt;&lt;/ol&gt;如果選擇1就會跳出下列錯誤&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SZq2Ba50E2I/AAAAAAAAAps/6JE2CJEbFKI/s1600-h/%E6%95%B4%E5%90%88%E5%BC%8Fwindows%E9%A9%97%E8%AD%89%E6%B2%92%E6%9C%89%E5%95%9F%E7%94%A8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SZq2Ba50E2I/AAAAAAAAAps/6JE2CJEbFKI/s400/%E6%95%B4%E5%90%88%E5%BC%8Fwindows%E9%A9%97%E8%AD%89%E6%B2%92%E6%9C%89%E5%95%9F%E7%94%A8.png" alt="" id="BLOGGER_PHOTO_ID_5303751646700114786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;解決辦法參考 &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SZq2Bpo3IDI/AAAAAAAAAp0/bUeTDz4P5lk/s1600-h/%E5%95%9F%E7%94%A8%E6%95%B4%E5%90%88%E5%BC%8F+Windows+%E9%A9%97%E8%AD%89.png"&gt;&lt;/a&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/x8a5axew.aspx"&gt;(MSDN)錯誤：偵錯失敗，因為整合式 Windows 驗證沒有啟用&lt;/a&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 336px; height: 400px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SZq2Bpo3IDI/AAAAAAAAAp0/bUeTDz4P5lk/s400/%E5%95%9F%E7%94%A8%E6%95%B4%E5%90%88%E5%BC%8F+Windows+%E9%A9%97%E8%AD%89.png" alt="" id="BLOGGER_PHOTO_ID_5303751650655543346" border="0" /&gt;&lt;br /&gt;啟用驗證後的執行偵錯畫面&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SaEqohUQxmI/AAAAAAAAAq8/J3DYX9eGSYI/s1600-h/%E5%95%9F%E7%94%A8%E9%A9%97%E8%AD%89%E5%BE%8C%E5%9F%B7%E8%A1%8C%E7%95%AB%E9%9D%A2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 215px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SaEqohUQxmI/AAAAAAAAAq8/J3DYX9eGSYI/s320/%E5%95%9F%E7%94%A8%E9%A9%97%E8%AD%89%E5%BE%8C%E5%9F%B7%E8%A1%8C%E7%95%AB%E9%9D%A2.png" alt="" id="BLOGGER_PHOTO_ID_5305568711645644386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BTVHUy5toYM/SZq1cQoao_I/AAAAAAAAApk/8BIB08XBRfY/s1600-h/%E5%9C%A8+Web+%E6%9C%8D%E5%8B%99%E7%B6%B2%E7%AB%99%E4%B8%AD%E5%95%9F%E7%94%A8%E5%81%B5%E9%8C%AF.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 287px;" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SZq1cQoao_I/AAAAAAAAApk/8BIB08XBRfY/s400/%E5%9C%A8+Web+%E6%9C%8D%E5%8B%99%E7%B6%B2%E7%AB%99%E4%B8%AD%E5%95%9F%E7%94%A8%E5%81%B5%E9%8C%AF.png" alt="" id="BLOGGER_PHOTO_ID_5303751008287630322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;參考資料  &lt;a href="http://www.microsoft.com/taiwan/msdn/library/2003/dec-2003/vbnet10282003.htm"&gt;MSDN驗證與授權&lt;/a&gt;&lt;br /&gt;這份資料也值得一看&lt;br /&gt;~關於ASP.net管理工具的東西&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTVHUy5toYM/SaEo8Ogv4YI/AAAAAAAAAqs/BJdmGgMUO-0/s1600-h/%E5%9C%A8+Web+%E6%9C%8D%E5%8B%99%E7%B6%B2%E7%AB%99%E4%B8%AD%E5%95%9F%E7%94%A8%E5%81%B5%E9%8C%AF.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SaEo8Ogv4YI/AAAAAAAAAqs/BJdmGgMUO-0/s320/%E5%9C%A8+Web+%E6%9C%8D%E5%8B%99%E7%B6%B2%E7%AB%99%E4%B8%AD%E5%95%9F%E7%94%A8%E5%81%B5%E9%8C%AF.png" alt="" id="BLOGGER_PHOTO_ID_5305566851171869058" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7398197402832420930?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7398197402832420930/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/web-service.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7398197402832420930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7398197402832420930'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/web-service.html' title='web service 建置與使用'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_BTVHUy5toYM/SZq2Ba50E2I/AAAAAAAAAps/6JE2CJEbFKI/s72-c/%E6%95%B4%E5%90%88%E5%BC%8Fwindows%E9%A9%97%E8%AD%89%E6%B2%92%E6%9C%89%E5%95%9F%E7%94%A8.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8097450157164873363</id><published>2009-02-02T11:10:00.000-08:00</published><updated>2009-02-11T11:28:10.235-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='會用到的= =*'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>PDA底層連線</title><content type='html'>找很久~有人跟我有一樣的問題啊~~&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/f524cc42-a132-4c1b-8fcb-6c63d977aab2/"&gt;http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/f524cc42-a132-4c1b-8fcb-6c63d977aab2/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Connection Manager API Functions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/aa458120.aspx"&gt;http://msdn.microsoft.com/en-us/aa458120.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;幾個使用情境說明&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/aa459117.aspx"&gt;http://msdn.microsoft.com/en-us/aa459117.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這裡有步驟~&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/aa459118.aspx"&gt;http://msdn.microsoft.com/en-us/aa459118.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8097450157164873363?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8097450157164873363/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/pda.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8097450157164873363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8097450157164873363'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/02/pda.html' title='PDA底層連線'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5429300109564485747</id><published>2009-01-24T03:48:00.000-08:00</published><updated>2009-02-23T22:57:53.510-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><title type='text'>notepad</title><content type='html'>account aliasing&lt;br /&gt;http://seeseeya.com/node/72&lt;br /&gt;http://www.chunmin.com/archives/85&lt;br /&gt;http://010.idv.tw/ubb/showflat.php?Cat=&amp;amp;Number=3337&amp;amp;Main=3335&lt;br /&gt;http://www.it.com.cn/f/edu/0410/27/40483.htm&lt;br /&gt;http://it.com.cn/f/edu/0411/2/42832.htm&lt;br /&gt;http://tw.myblog.yahoo.com/class2u-com/article?mid=883&amp;amp;prev=931&amp;amp;next=558&amp;amp;l=f&amp;amp;fid=7&amp;amp;sc=1&lt;br /&gt;http://www.josephjiang.com/presentation/Web2.0/slide.htm&lt;br /&gt;http://www.josephjiang.com/presentation/NoPostBack/demo.html&lt;br /&gt;http://bbs.ecstart.com/google_search.php?cx=partner-pub-6598876181620527%3A7jim3afruom&amp;amp;cof=FORID%3A10&amp;amp;ie=big5&amp;amp;q=%AA%ED%B3%E6+%A4%A3%B4%AB%AD%B6&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5429300109564485747?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5429300109564485747/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/notepad.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5429300109564485747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5429300109564485747'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/notepad.html' title='notepad'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4331809254546775311</id><published>2009-01-22T00:40:00.000-08:00</published><updated>2009-01-22T00:48:04.820-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>PDA 無法連結至電腦</title><content type='html'>最近常常出現 連結PDA時，無法連線的問題，通常是在插入別隻PDA後再插入本身的PDA的時候會發生~&lt;br /&gt;&lt;br /&gt;解決方法~&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BTVHUy5toYM/SXgxyh5I4PI/AAAAAAAAAm8/fzCjZMOHiBk/s1600-h/%E7%B3%BB%E7%B5%B1%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 239px; height: 201px;" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SXgxyh5I4PI/AAAAAAAAAm8/fzCjZMOHiBk/s400/%E7%B3%BB%E7%B5%B1%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7.png" alt="" id="BLOGGER_PHOTO_ID_5294036106135265522" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SXgxy64AIjI/AAAAAAAAAnE/czpJhKK0jmw/s1600-h/%E6%9C%8D%E5%8B%99.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 265px; height: 162px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SXgxy64AIjI/AAAAAAAAAnE/czpJhKK0jmw/s400/%E6%9C%8D%E5%8B%99.png" alt="" id="BLOGGER_PHOTO_ID_5294036112841384498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTVHUy5toYM/SXgxy7NdPDI/AAAAAAAAAnM/GB2c2IYmdFg/s1600-h/DHCP+Client.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 458px; height: 117px;" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SXgxy7NdPDI/AAAAAAAAAnM/GB2c2IYmdFg/s400/DHCP+Client.png" alt="" id="BLOGGER_PHOTO_ID_5294036112931372082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BTVHUy5toYM/SXgxzExXU7I/AAAAAAAAAnU/OCtjxMWI0K0/s1600-h/%E5%95%9F%E5%8B%95.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 247px; height: 276px;" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SXgxzExXU7I/AAAAAAAAAnU/OCtjxMWI0K0/s400/%E5%95%9F%E5%8B%95.png" alt="" id="BLOGGER_PHOTO_ID_5294036115497898930" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4331809254546775311?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4331809254546775311/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/pda.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4331809254546775311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4331809254546775311'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/pda.html' title='PDA 無法連結至電腦'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTVHUy5toYM/SXgxyh5I4PI/AAAAAAAAAm8/fzCjZMOHiBk/s72-c/%E7%B3%BB%E7%B5%B1%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6848960479952996800</id><published>2009-01-22T00:30:00.000-08:00</published><updated>2009-01-22T00:39:06.070-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>問題--又噴了</title><content type='html'>在ASL.project , 當PDA 按下待機紐時，或是按X 就有機會出現下圖&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BTVHUy5toYM/SXgvyDcg0pI/AAAAAAAAAm0/L4-5onGy_N0/s1600-h/%E5%99%B4%E5%9C%96.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 166px;" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SXgvyDcg0pI/AAAAAAAAAm0/L4-5onGy_N0/s400/%E5%99%B4%E5%9C%96.png" alt="" id="BLOGGER_PHOTO_ID_5294033898938880658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;int bytesRead = handler.EndReceive(ar);    這行~&lt;br /&gt;猜測應該是 在這行timeout了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6848960479952996800?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6848960479952996800/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_22.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6848960479952996800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6848960479952996800'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_22.html' title='問題--又噴了'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BTVHUy5toYM/SXgvyDcg0pI/AAAAAAAAAm0/L4-5onGy_N0/s72-c/%E5%99%B4%E5%9C%96.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1655423629774710148</id><published>2009-01-21T13:13:00.000-08:00</published><updated>2009-01-21T13:18:52.485-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='執行緒'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='會用到的= =*'/><title type='text'>Windows Forum UI</title><content type='html'>參考&lt;br /&gt;&lt;h1 class="entryviewheading"&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/03/26/better-winform-ui.aspx"&gt;【文章】Windows Form UI優化入門課 – 非同步作業&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1655423629774710148?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1655423629774710148/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/windows-form-ui.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1655423629774710148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1655423629774710148'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/windows-form-ui.html' title='Windows Forum UI'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5084629409154204054</id><published>2009-01-21T12:50:00.000-08:00</published><updated>2009-01-21T13:10:49.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'></title><content type='html'>&lt;h2&gt;參考&lt;br /&gt;&lt;/h2&gt;&lt;h2&gt;&lt;a id="AjaxHolder_ctl01_TitleUrl" class="singleposttitle" href="http://www.cnblogs.com/oomusou/archive/2007/02/25/656046.html"&gt;(原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#) &lt;/a&gt;&lt;/h2&gt;介紹 : 有範例~動態建立二維陣列&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5084629409154204054?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5084629409154204054/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_21.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5084629409154204054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5084629409154204054'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_21.html' title=''/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2217863601421932730</id><published>2009-01-20T04:44:00.000-08:00</published><updated>2009-01-20T04:47:26.439-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='vs2005'/><category scheme='http://www.blogger.com/atom/ns#' term='會用到的= =*'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'></title><content type='html'>參考:&lt;br /&gt;&lt;a class="singleposttitle" id="AjaxHolder_ctl01_TitleUrl" href="http://www.cnblogs.com/oomusou/archive/2007/07/10/813319.html"&gt;(原創)  使用preprocessor directive留住debug code (.NET) (C#)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Abstract&lt;br /&gt;&lt;/strong&gt;很多人以為debug mode和release mode的差異只是debug  mode可以設Breakpoint而已，事實上，搭配preprocessor directive，debug  mode另有妙用。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Introduction&lt;br /&gt;&lt;/strong&gt;preprocessor  directive並不是什麼新東西，這在C語言就有的，如有些API在Windows 98和Windows XP不一樣，就得用preprocessor  directive，讓不同的平台用不同的API。C#也可使用preprocessor  directive，尤其用在debug時，非常方便。&lt;br /&gt;&lt;br /&gt;我們常會有debug code，如try  catch時，若有exception要顯示錯誤訊息，但真正發布產品時，則不希望顯示錯誤訊息，所以希望能留住debug  code，以便日後debug，若用//或/* */的方式將debug code暫時當註解，常常遇到產品真正發布時，忘了將debug  code拿掉的窘境，事實上，當使用debug mode時，C#自動定義了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2217863601421932730?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2217863601421932730/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/preprocessor-directivedebug-code.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2217863601421932730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2217863601421932730'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/preprocessor-directivedebug-code.html' title=''/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3361170720213386988</id><published>2009-01-19T07:42:00.000-08:00</published><updated>2009-01-19T07:46:31.399-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗資料'/><title type='text'>實驗用資料-區域設定座標資料</title><content type='html'>-------------Console.WriteLine("結束抓資料庫"); ------------       &lt;br /&gt;&lt;br /&gt;           //point in polygon test----仁愛醫院1&lt;br /&gt;           /*Point point1 = new Point(25.036922, 121.544865);&lt;br /&gt;           Point point2 = new Point(25.036961, 121.544613);&lt;br /&gt;           Point point3 = new Point(25.036966, 121.544403);&lt;br /&gt;           Point point4 = new Point(25.037306, 121.544452);&lt;br /&gt;           Point point5 = new Point(25.037277, 121.544661);*/&lt;br /&gt;           //point in polygon test----中原噴水池-活動中心區&lt;br /&gt;           /*Point point1 = new Point(24.959268, 121.240246);&lt;br /&gt;           Point point2 = new Point(24.959312, 121.241593);&lt;br /&gt;           Point point3 = new Point(24.957673, 121.241587);&lt;br /&gt;           Point point4 = new Point(24.957216, 121.241646);&lt;br /&gt;           Point point5 = new Point(24.956812, 121.241303);&lt;br /&gt;           Point point6 = new Point(24.957581, 121.239962);*/&lt;br /&gt;&lt;br /&gt;           //point in polygon test----仁愛醫院2&lt;br /&gt;           /*Point point1 = new Point(25.037647, 121.544462);&lt;br /&gt;           Point point2 = new Point(25.037715, 121.545128);&lt;br /&gt;           Point point3 = new Point(25.036879, 121.545128);&lt;br /&gt;           Point point4 = new Point(25.036888, 121.544398);&lt;br /&gt;           Point point5 = new Point(25.037379, 121.544420);*/&lt;br /&gt;         &lt;br /&gt;           //point in polygon test----中原門口騎機車模式&lt;br /&gt;           /*Point point1 = new Point(24.957449, 121.240037);&lt;br /&gt;           Point point2 = new Point(24.957522, 121.240509);&lt;br /&gt;           Point point3 = new Point(24.956997, 121.240810);&lt;br /&gt;           Point point4 = new Point(24.956803, 121.240525);&lt;br /&gt;           Point point5 = new Point(24.956880, 121.240193);&lt;br /&gt;           Point point6 = new Point(24.957245, 121.239983);*/&lt;br /&gt;&lt;br /&gt;                    &lt;br /&gt;           //point in polygon test----測試範圍為整個板橋市&lt;br /&gt;           /*Point point1 = new Point(25.086843, 121.309662);&lt;br /&gt;           Point point2 = new Point(25.093061, 121.522522);&lt;br /&gt;           Point point3 = new Point(25.027128, 121.559601);&lt;br /&gt;           Point point4 = new Point(24.928785, 121.592560);&lt;br /&gt;           Point point5 = new Point(24.913840, 121.404419);&lt;br /&gt;           Point point6 = new Point(25.003484, 121.280823);*/&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;           //point in polygon test----公車模式區域1-板橋新公車站&lt;br /&gt;           /*Point point1 = new Point(25.014538, 121.463020);&lt;br /&gt;           Point point2 = new Point(25.015423, 121.461582);&lt;br /&gt;           Point point3 = new Point(25.016823, 121.461647);&lt;br /&gt;           Point point4 = new Point(25.017348, 121.462955);&lt;br /&gt;           Point point5 = new Point(25.016425, 121.464361);&lt;br /&gt;           Point point6 = new Point(25.015200, 121.464318);&lt;br /&gt;&lt;br /&gt;           //point in polygon test----公車模式區域2-大漢橋&lt;br /&gt;           Point point7 = new Point(25.039649, 121.457119);&lt;br /&gt;           Point point8 = new Point(25.040777, 121.462784);&lt;br /&gt;           Point point9 = new Point(25.037705, 121.465230);&lt;br /&gt;           Point point10 = new Point(25.033311, 121.466818);&lt;br /&gt;           Point point11 = new Point(25.031639, 121.460509);&lt;br /&gt;           Point point12 = new Point(25.035955, 121.456518);&lt;br /&gt;&lt;br /&gt;           //point in polygon test----公車模式區域3-五權路口&lt;br /&gt;           Point point13 = new Point(25.069827, 121.449620);&lt;br /&gt;           Point point14 = new Point(25.069944, 121.451572);&lt;br /&gt;           Point point15 = new Point(25.068584, 121.452549);&lt;br /&gt;           Point point16 = new Point(25.068020, 121.453149);&lt;br /&gt;           Point point17 = new Point(25.067437, 121.451776);&lt;br /&gt;           Point point18 = new Point(25.068826, 121.449512);*/&lt;br /&gt;           //-------------------------------------------------&lt;br /&gt;           //我的中原&lt;br /&gt;           string getgps0 = querycontent.Split(';')[0];&lt;br /&gt;           string getgps1 = querycontent.Split(';')[1];&lt;br /&gt;           string getgps2 = querycontent.Split(';')[2];&lt;br /&gt;           string getgps3 = querycontent.Split(';')[3];&lt;br /&gt;           string getgps4 = querycontent.Split(';')[4];&lt;br /&gt;           string getgps5 = querycontent.Split(';')[5];&lt;br /&gt;           Point point1 = new Point(double.Parse(getgps0.Split(',')[0]), double.Parse(getgps0.Split(',')[1]));&lt;br /&gt;           Point point2 = new Point(double.Parse(getgps1.Split(',')[0]), double.Parse(getgps1.Split(',')[1]));&lt;br /&gt;           Point point3 = new Point(double.Parse(getgps2.Split(',')[0]), double.Parse(getgps2.Split(',')[1]));&lt;br /&gt;           Point point4 = new Point(double.Parse(getgps3.Split(',')[0]), double.Parse(getgps3.Split(',')[1]));&lt;br /&gt;           Point point5 = new Point(double.Parse(getgps4.Split(',')[0]), double.Parse(getgps4.Split(',')[1]));&lt;br /&gt;           Point point6 = new Point(double.Parse(getgps5.Split(',')[0]), double.Parse(getgps5.Split(',')[1]));&lt;br /&gt;         &lt;br /&gt;           /*&lt;br /&gt;           Point point1 = new Point(double.Parse(querycontent.Split(';')[0].Split(',')[0]),double.Parse( querycontent.Split(';')[0].Split(',')[1]));&lt;br /&gt;           Point point2 = new Point(double.Parse(querycontent.Split(';')[1].Split(',')[0]), double.Parse(querycontent.Split(';')[1].Split(',')[1]));&lt;br /&gt;           Point point3 = new Point(double.Parse(querycontent.Split(';')[2].Split(',')[0]), double.Parse(querycontent.Split(';')[2].Split(',')[1]));&lt;br /&gt;           Point point4 = new Point(double.Parse(querycontent.Split(';')[3].Split(',')[0]), double.Parse(querycontent.Split(';')[3].Split(',')[1]));&lt;br /&gt;           Point point5 = new Point(double.Parse(querycontent.Split(';')[4].Split(',')[0]), double.Parse(querycontent.Split(';')[4].Split(',')[1]));&lt;br /&gt;           Point point6 = new Point(double.Parse(querycontent.Split(';')[5].Split(',')[0]), double.Parse(querycontent.Split(';')[5].Split(',')[1]));&lt;br /&gt;           */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//            double x1 = double.Parse(querycontent.Split(';')[0].Split(',')[0]);//test用&lt;br /&gt;//            double y1 =double.Parse( querycontent.Split(';')[0].Split(',')[1]);//test用&lt;br /&gt;&lt;br /&gt;//            Console.WriteLine(x1) ;//test 用&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;           //point in polygon test----火車模式區域1-板橋新火車站&lt;br /&gt;           Point point1 = new Point(25.015452, 121.462923);&lt;br /&gt;           Point point2 = new Point(25.015180, 121.464103);&lt;br /&gt;           Point point3 = new Point(25.014257, 121.464640);&lt;br /&gt;           Point point4 = new Point(25.013430, 121.463642);&lt;br /&gt;           Point point5 = new Point(25.013848, 121.462344);&lt;br /&gt;           Point point6 = new Point(25.014888, 121.461926);&lt;br /&gt;*/&lt;br /&gt;           //point in polygon test----火車模式區域2-桃園火車站&lt;br /&gt;           Point point7 = new Point(24.989919, 121.312044);&lt;br /&gt;           Point point8 = new Point(24.990201, 121.314297);&lt;br /&gt;           Point point9 = new Point(24.988820, 121.315563);&lt;br /&gt;           Point point10 = new Point(24.987925, 121.314726);&lt;br /&gt;           Point point11 = new Point(24.988022, 121.313224);&lt;br /&gt;           Point point12 = new Point(24.988985, 121.311765);&lt;br /&gt;&lt;br /&gt;           //point in polygon test----火車模式區域3-中壢火車站&lt;br /&gt;           Point point13 = new Point(24.955227, 121.225784);&lt;br /&gt;           Point point14 = new Point(24.954507, 121.227951);&lt;br /&gt;           Point point15 = new Point(24.953009, 121.228530);&lt;br /&gt;           Point point16 = new Point(24.951842, 121.225805);&lt;br /&gt;           Point point17 = new Point(24.952737, 121.223853);&lt;br /&gt;           Point point18 = new Point(24.955032, 121.224003);&lt;br /&gt;&lt;br /&gt;           //-------------------------------------------&lt;br /&gt;           //區域1&lt;br /&gt;           Point[] endPoints = new Point[7];&lt;br /&gt;           endPoints[0] = point1;&lt;br /&gt;           endPoints[1] = point2;&lt;br /&gt;           endPoints[2] = point3;&lt;br /&gt;           endPoints[3] = point4;&lt;br /&gt;           endPoints[4] = point5;&lt;br /&gt;           endPoints[5] = point6;&lt;br /&gt;           endPoints[6] = point1;&lt;br /&gt;           Polygon myPloygon = new Polygon(endPoints);&lt;br /&gt;         &lt;br /&gt;           //區域2&lt;br /&gt;           Point[] endPoints1 = new Point[7];&lt;br /&gt;           endPoints1[0] = point7;&lt;br /&gt;           endPoints1[1] = point8;&lt;br /&gt;           endPoints1[2] = point9;&lt;br /&gt;           endPoints1[3] = point10;&lt;br /&gt;           endPoints1[4] = point11;&lt;br /&gt;           endPoints1[5] = point12;&lt;br /&gt;           endPoints1[6] = point7;&lt;br /&gt;           Polygon myPloygon1 = new Polygon(endPoints1);&lt;br /&gt;         &lt;br /&gt;           //區域3&lt;br /&gt;           Point[] endPoints2 = new Point[7];&lt;br /&gt;           endPoints2[0] = point13;&lt;br /&gt;           endPoints2[1] = point14;&lt;br /&gt;           endPoints2[2] = point15;&lt;br /&gt;           endPoints2[3] = point16;&lt;br /&gt;           endPoints2[4] = point17;&lt;br /&gt;           endPoints2[5] = point18;&lt;br /&gt;           endPoints2[6] = point13;&lt;br /&gt;           Polygon myPloygon2 = new Polygon(endPoints2);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3361170720213386988?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3361170720213386988/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_19.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3361170720213386988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3361170720213386988'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_19.html' title='實驗用資料-區域設定座標資料'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4426427488908476045</id><published>2009-01-16T02:49:00.000-08:00</published><updated>2009-01-21T12:48:07.382-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='執行緒'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>ThreadPool..::.QueueUserWorkItem 方法 (WaitCallback, Object)</title><content type='html'>&lt;pre class="libCScode" style="white-space: pre-wrap;" id="ctl00_rs1_mainContentContainer_ctl67CSharp" space="preserve"&gt;&lt;span style="color:green;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;參考 MSDN  http://msdn.microsoft.com/zh-tw/library/4yd16hza.aspx&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;// This example shows how to create an object containing task&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// information, and pass that object to a task queued for&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// execution by the thread pool.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; System.Threading;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// TaskInfo holds state information for a task that will be&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// executed by a ThreadPool thread.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; TaskInfo {&lt;br /&gt;&lt;span style="color:green;"&gt;// State information for the task.  These members&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// can be implemented as read-only properties, read/write&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// properties with validation, and so on, as required.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Boilerplate;&lt;br /&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; Value;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// Public constructor provides an easy way to supply all&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// the information needed for the task.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; TaskInfo(&lt;span style="color:blue;"&gt;string&lt;/span&gt; text, &lt;span style="color:blue;"&gt;int&lt;/span&gt; number) {&lt;br /&gt;  Boilerplate = text;&lt;br /&gt;  Value = number;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; Example {&lt;br /&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Main() {&lt;br /&gt;  &lt;span style="color:green;"&gt;// Create an object containing the information needed&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:green;"&gt;// for the task.&lt;/span&gt;&lt;br /&gt;  TaskInfo ti = &lt;span style="color:blue;"&gt;new&lt;/span&gt; TaskInfo(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"This report displays the number {0}."&lt;/span&gt;&lt;/span&gt;, 42);&lt;br /&gt;&lt;br /&gt;  &lt;span style="color:green;"&gt;// Queue the task and data.&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;if&lt;/span&gt; (ThreadPool.QueueUserWorkItem(&lt;span style="color:blue;"&gt;new&lt;/span&gt; WaitCallback(ThreadProc), ti)) {&lt;br /&gt;      Console.WriteLine(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"Main thread does some work, then sleeps."&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:green;"&gt;// If you comment out the Sleep, the main thread exits before&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:green;"&gt;// the ThreadPool task has a chance to run.  ThreadPool uses &lt;/span&gt;&lt;br /&gt;      &lt;span style="color:green;"&gt;// background threads, which do not keep the application &lt;/span&gt;&lt;br /&gt;      &lt;span style="color:green;"&gt;// running.  (This is a simple example of a race condition.)&lt;/span&gt;&lt;br /&gt;      Thread.Sleep(1000);&lt;br /&gt;&lt;br /&gt;      Console.WriteLine(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"Main thread exits."&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;  }&lt;br /&gt;  &lt;span style="color:blue;"&gt;else&lt;/span&gt; {&lt;br /&gt;      Console.WriteLine(&lt;span style="color:maroon;"&gt;&lt;span style="color:maroon;"&gt;"Unable to queue ThreadPool request."&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// The thread procedure performs the independent task, in this case&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;// formatting and printing a very simple report.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;//&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; ThreadProc(Object stateInfo) {&lt;br /&gt;  TaskInfo ti = (TaskInfo) stateInfo;&lt;br /&gt;  Console.WriteLine(ti.Boilerplate, ti.Value);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;///////////////////////&lt;br /&gt;當執行此敘述 &lt;span style="color:blue;"&gt;if&lt;/span&gt; (ThreadPool.QueueUserWorkItem(&lt;span style="color:blue;"&gt;new&lt;/span&gt; WaitCallback(ThreadProc), ti&lt;br /&gt;ti會一起傳送到 ThreadProc(Object stateInfo) 裡面的&lt;br /&gt;stateInfo&lt;br /&gt;因此 在&lt;br /&gt;ThreadProc(Object stateInfo)中  需要轉換 Object 為 TaskInfo 型態再轉存一次&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4426427488908476045?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4426427488908476045/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/this-example-shows-how-to-create-object.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4426427488908476045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4426427488908476045'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/this-example-shows-how-to-create-object.html' title='ThreadPool..::.QueueUserWorkItem 方法 (WaitCallback, Object)'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-182584137071947826</id><published>2009-01-12T12:36:00.000-08:00</published><updated>2009-01-21T12:48:41.710-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net Framework程式設計'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>淺談多執行緒</title><content type='html'>參考&lt;span style="font-size:78%;"&gt;&lt;a href="http://tw.myblog.yahoo.com/gs_adoph/"&gt;&lt;h1&gt;C# 隨性筆記&lt;/h1&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://tw.myblog.yahoo.com/gs_adoph/article?mid=283&amp;amp;prev=287&amp;amp;l=f&amp;amp;fid=22"&gt;淺談多執行緒(一)&lt;/a&gt;  --多執行緒介紹:&lt;span style="color: rgb(51, 102, 255);"&gt;定義&lt;/span&gt;，&lt;span style="color: rgb(51, 102, 255);"&gt;造物件&lt;/span&gt;，與&lt;span style="color: rgb(51, 102, 255);"&gt;啟動&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tw.myblog.yahoo.com/gs_adoph/article?mid=287&amp;amp;prev=291&amp;amp;next=283&amp;amp;l=f&amp;amp;fid=22"&gt;淺談多執行緒(二)&lt;/a&gt;  --多執行緒&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:'新細明體','serif';"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;共用資料&lt;/span&gt;的碰撞問題與&lt;span style="color: rgb(51, 102, 255);"&gt;LOCK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tw.myblog.yahoo.com/gs_adoph/article?mid=291&amp;amp;prev=311&amp;amp;next=287&amp;amp;l=f&amp;amp;fid=22"&gt;淺談多執行緒(三)&lt;/a&gt;  --多執行緒死結&lt;span lang="EN-US"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;deadlock&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;與使用&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;&lt;span style="font-family:Calibri;"&gt;Monitor.TryEnter&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:'新細明體','serif';"&gt;方法鎖定&lt;br /&gt;&lt;br /&gt;補充:&lt;br /&gt;&lt;br /&gt;1.參考MSDN&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul type="disc"&gt;&lt;li&gt;建立和執行執行緒&lt;/li&gt;&lt;li&gt;執行緒的同步化&lt;/li&gt;&lt;li&gt;執行緒間的互動&lt;/li&gt;&lt;li&gt;使用執行緒集區&lt;/li&gt;&lt;li&gt;使用 Mutex 物件來保護共用的資源&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:'新細明體','serif';"&gt;&lt;a href="http://msdn.microsoft.com/zh-tw/library/aa288472%28VS.71%29.aspx"&gt;http://msdn.microsoft.com/zh-tw/library/aa288472(VS.71).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.用於非同步的&lt;/span&gt;&lt;/span&gt;ManualResetEvent&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:'新細明體','serif';"&gt;&lt;a href="http://www.webjx.com/htmldata/2006-08-14/1155517019.html"&gt;http://www.webjx.com/htmldata/2006-08-14/1155517019.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-182584137071947826?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/182584137071947826/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_12.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/182584137071947826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/182584137071947826'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post_12.html' title='淺談多執行緒'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-925323803392159741</id><published>2009-01-12T11:10:00.000-08:00</published><updated>2009-01-12T11:23:12.110-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>幾個翻譯網站</title><content type='html'>zhua niao 抓鳥網(簡) -- web2.0&lt;br /&gt;&lt;a href="http://dict.zhuaniao.com/"&gt;http://dict.zhuaniao.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;蝙蝠英語(簡) -- 學習用的沒法英翻中&lt;br /&gt;&lt;a href="http://www.binvor.com/"&gt;http://www.binvor.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;蜂海詞(簡) -- 簡潔啊，還可以serch google, wiki, ...&lt;br /&gt;&lt;a href="http://tel.dict.cn/"&gt;http://tel.dict.cn/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-925323803392159741?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/925323803392159741/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/925323803392159741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/925323803392159741'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/blog-post.html' title='幾個翻譯網站'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8318039830204326582</id><published>2009-01-05T00:07:00.001-08:00</published><updated>2009-02-23T22:58:16.032-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><title type='text'>sms</title><content type='html'>http://electronics.bowenwang.com.cn/sms.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8318039830204326582?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8318039830204326582/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/sms.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8318039830204326582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8318039830204326582'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2009/01/sms.html' title='sms'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-4029948785739207769</id><published>2008-12-26T01:39:00.000-08:00</published><updated>2009-05-01T08:03:40.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><title type='text'>常用簡體字意思</title><content type='html'>簡體 繁體&lt;br /&gt;&lt;br /&gt;帧 -&gt; 封包 (EX: 以太网帧长度 -&gt;乙太網路封包長度)&lt;br /&gt;&lt;br /&gt;数据库-&gt;資料庫&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;續~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-4029948785739207769?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/4029948785739207769/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/12/blog-post_26.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4029948785739207769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/4029948785739207769'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/12/blog-post_26.html' title='常用簡體字意思'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-1536426171854037178</id><published>2008-12-20T14:10:00.000-08:00</published><updated>2009-02-23T22:57:26.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='會用到的= =*'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>基地台定位</title><content type='html'>2006年初的資料~加減看吧&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.yam.com/victor0221/article/16202379"&gt;全球LBS技術與服務發展現況分析_950117&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.yam.com/victor0221/article/16202379"&gt;http://blog.yam.com/victor0221/article/16202379  from &lt;/a&gt;&lt;a href="http://blog.yam.com/user/victor0221.html"&gt;維克多的日記  &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;01上 有趣的GOOGLE MAP討論串&lt;br /&gt;&lt;a href="http://www.mobile01.com/topicdetail.php?f=129&amp;amp;t=555183&amp;amp;last=7865653"&gt;http://www.mobile01.com/topicdetail.php?f=129&amp;amp;t=555183&amp;amp;last=7865653&lt;/a&gt; from mobile01&lt;br /&gt;&lt;br /&gt;看完以上兩個  最重要的就是..&lt;br /&gt;&lt;a title="Permanent Link to &amp;quot;GSM Location－沒有GPS怎麼辦？用行動電話機地台來定位吧&amp;quot;" href="http://www.lis186.com/?p=1692" rel="bookmark"&gt;GSM  Location－沒有GPS怎麼辦？用行動電話機地台來定位吧&lt;/a&gt;  from 阿修的部落格&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-1536426171854037178?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/1536426171854037178/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/12/blog-post_20.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1536426171854037178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/1536426171854037178'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/12/blog-post_20.html' title='基地台定位'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6816827873580664053</id><published>2008-12-14T00:16:00.000-08:00</published><updated>2009-02-23T22:51:10.312-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>字元分割</title><content type='html'>&lt;span style="font-weight: bold;"&gt;JAVASCRIPT&lt;/span&gt;提供&lt;span style="color: rgb(51, 0, 153);"&gt; &lt;span style="color: rgb(255, 204, 0);"&gt;split(',')&lt;/span&gt;&lt;/span&gt;   //以逗點做字串分割&lt;br /&gt;&lt;br /&gt;ex:&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;var stringArray = "123,456,789" ;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;var getElement = stringArray.split(',')[1] ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  getElement 輸出即為 456 ~~~&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PHP &lt;/span&gt;提供&lt;span style="color: rgb(255, 204, 51);"&gt; explode()&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt; &lt;/span&gt;//可以用特定字元切割字串，並存入陣列中&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;語法： ＄要被存入的陣列變數 ＝ explode("分隔符號",要被切割的字串);&lt;/span&gt;&lt;br /&gt;ex :&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$engWords = "abc,def,ghi,jkw" ;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$words = explode(",", $engWords);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;echo $words[0]; // abc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;echo $words[1]; // def&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ref: http://tw.php.net/explode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6816827873580664053?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6816827873580664053/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/12/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6816827873580664053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6816827873580664053'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/12/blog-post.html' title='字元分割'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5752448103125958021</id><published>2008-11-15T15:02:00.000-08:00</published><updated>2008-11-15T15:08:53.156-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><title type='text'>在BLOG貼程式碼</title><content type='html'>&lt;a href="http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx"&gt;http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;進入以後 貼上程式碼 點擊encode&lt;br /&gt;&lt;br /&gt;就會自動產生  &lt;br /&gt;&amp;amp;lt;&lt;br /&gt;&amp;amp;quot;&lt;br /&gt;&lt;br /&gt;再繼續測試上面的話咧&lt;br /&gt;&lt;br /&gt;&amp;amp;amp;lt;&lt;br /&gt;&amp;amp;amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;amp;amp;amp;lt;&lt;br /&gt;&amp;amp;amp;amp;quot;&lt;br /&gt;&lt;br /&gt;...別無聊了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5752448103125958021?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5752448103125958021/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/blog.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5752448103125958021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5752448103125958021'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/blog.html' title='在BLOG貼程式碼'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7570320462382724293</id><published>2008-11-15T14:37:00.000-08:00</published><updated>2008-11-15T15:01:28.008-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>測試 string 於 javascript &amp; php</title><content type='html'>html 的form 經過 POST 或 GET method 傳過來時，只能用PHP網頁接  ..新發現&lt;br /&gt;題外話~~&lt;br /&gt;&lt;br /&gt;重點~~~~~~~~~~~~~~&lt;br /&gt;傳過來是&lt;br /&gt;&amp;lt;input name=&amp;quot;phonenumer&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;phone&amp;quot; &amp;gt;&lt;br /&gt;&amp;lt;input name=&amp;quot;checknum&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;chk&amp;quot; &amp;gt;&lt;br /&gt;&lt;br /&gt;這個來接收&lt;br /&gt;accept.php&lt;br /&gt;&lt;br /&gt;&amp;lt;?php &lt;br /&gt;$phonenumber = $_POST['phonenumer'] ;   &lt;br /&gt;$checknum = $_POST['checknum'] ;&lt;br /&gt;$_SESSION['phonenumber']=$_POST['phonenumer'] ;&lt;br /&gt;&lt;br /&gt;echo '$phonenumber='.$phonenumber ;  //$phonenumber=phone&lt;br /&gt;echo $phonenumber ;                  //phone&lt;br /&gt;echo &amp;quot;$checknum&amp;quot; ;                   //chk&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt; &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt; //&amp;lt;![CDATA[&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;alert(&amp;quot;ffff&amp;quot;) ;                                    //ffff&lt;br /&gt;var phonenumber1 =&amp;quot;4536&amp;quot; ;&lt;br /&gt;//表單傳遞資訊存入javascript&lt;br /&gt;alert(&amp;quot;&amp;lt;?php echo 'fssfdsfsdf'  ?&amp;gt;&amp;quot;) ;             //fssfdsfsdf&lt;br /&gt;alert(&amp;quot;&amp;lt;?php echo &amp;quot;$phonenumber&amp;quot;  ?&amp;gt;&amp;quot;) ;           //0988...&lt;br /&gt;alert('phonenumber1') ;                            //phonenumber1&lt;br /&gt;alert(&amp;quot;phonenumber12&amp;quot;) ;                           //phonenumber12&lt;br /&gt;alert(phonenumber1) ;                              //phone&lt;br /&gt;&lt;br /&gt;var phonenumber = &amp;lt;?php echo &amp;quot;\&amp;quot;$phonenumber\&amp;quot;&amp;quot; ?&amp;gt; ;&lt;br /&gt;alert(phonenumber)                                 //phone&lt;br /&gt;var phonenumber = &amp;quot;&amp;lt;?php echo $phonenumber ?&amp;gt;&amp;quot; ;   //存成 phone 字串&lt;br /&gt;alert(phonenumber + '000')  //                     //phone000&lt;br /&gt;var checknum = &amp;quot;&amp;lt;?php echo &amp;quot;$checknum&amp;quot; ?&amp;gt;&amp;quot; ;       // 存成 chk 字串&lt;br /&gt;alert(checknum + '000')                            //chk000&lt;br /&gt;&lt;br /&gt;alert(&amp;quot;http://140.1xx.xxx.xxx/ixxxx/mxxxl.php?temp=&amp;quot;+&amp;quot;&amp;amp;phonenumber=&amp;quot;+ phonenumber) ;&lt;br /&gt;&lt;br /&gt;// XMLHttpRequest通訊   ;&lt;br /&gt;//    function getLonLat(url){&lt;br /&gt;//      var request = GXmlHttp.create();&lt;br /&gt;//   var theDate = new Date();  //為了避免瀏覽器快取&lt;br /&gt;//   request.open(&amp;quot;GET&amp;quot;,&amp;quot;http://140.1xx.xxx.xxx/ixxxx/mxxxl.php?temp=&amp;quot;+&amp;quot;&amp;amp;//phonenumber=&amp;quot;+ phonenumberr=&amp;quot;+ phonenumber , true) ;&lt;br /&gt;//失敗...&lt;br /&gt;&lt;br /&gt;var url=&amp;quot;http://140.1xx.xxx.xxx/ixxxx/mxxxl.php?temp=&amp;quot;+theDate.getDate()+theDate.getMinutes()+theDate.getSeconds()+&amp;quot;&amp;amp;phonenumber=&amp;quot;+ phonenumber ;&lt;br /&gt;alert(url);  //http://140.1xx.xxx.xxx/ixxxx/mxxxl.php?temp=165349&amp;amp;phonenumber=phone&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7570320462382724293?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7570320462382724293/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/string-javascript-php.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7570320462382724293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7570320462382724293'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/string-javascript-php.html' title='測試 string 於 javascript &amp; php'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2265626103155840104</id><published>2008-11-12T12:24:00.000-08:00</published><updated>2008-11-12T13:02:47.077-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>xmlHttp</title><content type='html'>&lt;a href="http://blog.roodo.com/jiing/archives/1052181.html"&gt;&lt;br /&gt;http://blog.roodo.com/jiing/archives/1052181.html&lt;/a&gt;&lt;br /&gt;http://www.microsoft.com/taiwan/msdn/columns/ASPNET_2/aspnet_2_20051212.htm&lt;br /&gt;&lt;a href="http://www.microsoft.com/taiwan/msdn/columns/ASPNET_2/aspnet_2_20051212.htm"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://newweb.syups.tp.edu.tw/documents/memo/PHP/php_develop.htm&lt;br /&gt;&lt;a href="http://newweb.syups.tp.edu.tw/documents/memo/PHP/php_develop.htm"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://audi.tw/AJAX/&lt;a href="http://audi.tw/AJAX/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2265626103155840104?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2265626103155840104/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/xmlhttp.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2265626103155840104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2265626103155840104'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/xmlhttp.html' title='xmlHttp'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7684582889244647759</id><published>2008-11-06T09:29:00.000-08:00</published><updated>2009-04-21T03:41:21.198-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>phpmyadmin 安裝</title><content type='html'>IIS + PHP + phpmyadmin&lt;br /&gt;&lt;br /&gt;之前講過 IIS 和 PHP安裝了 接下來講 phpmyadmin&lt;br /&gt;&lt;br /&gt;我們使用 appserv-win32-2.5.9.exe&lt;br /&gt;&lt;br /&gt;憑剛裝好的印象簡要:&lt;br /&gt;&lt;br /&gt;1. 設定安裝路徑: C:php&lt;br /&gt;2. 取消勾選安裝apache phphypertext&lt;br /&gt;3. 於IIS 預設的網站點擊右鍵-&gt;新增 -&gt;虛擬路徑 路徑為phpmyadmin剛裝好的地方(c:/php/www/phpmyadmin)&lt;br /&gt;&lt;br /&gt;這樣就OK了~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7684582889244647759?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7684582889244647759/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/phpmyadmin.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7684582889244647759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7684582889244647759'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/11/phpmyadmin.html' title='phpmyadmin 安裝'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8756430650414015731</id><published>2008-10-30T02:52:00.000-07:00</published><updated>2008-10-30T02:58:46.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vs2005'/><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><title type='text'>SystemState.OwnerPhoneNumber  取得手機電話號碼</title><content type='html'>想要取得行動裝置上的電話號碼 可以用&lt;br /&gt;SystemState.OwnerPhoneNumber 來得到~ &lt;br /&gt;但  為什麼我們抓不到呢~?&lt;br /&gt;因為 這裡抓到的電話號碼是  事先已被設定在手機裡頭的 (非sim卡)&lt;br /&gt;你可以看看 (開始-&gt;設定-&gt;個人資訊)&lt;br /&gt;&lt;br /&gt;那如何實做抓取SIM卡的電話號碼呢?&lt;br /&gt;在路徑&lt;br /&gt;C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Samples\CPP\Win32\GetPhoneNumber\&lt;br /&gt;有sample可以學習~  &lt;br /&gt;&lt;br /&gt;但要注意不是所有GSM的sim卡都支援號碼內建&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8756430650414015731?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8756430650414015731/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/10/systemstateownerphonenumber.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8756430650414015731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8756430650414015731'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/10/systemstateownerphonenumber.html' title='SystemState.OwnerPhoneNumber  取得手機電話號碼'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7865897653096049785</id><published>2008-10-15T10:28:00.000-07:00</published><updated>2008-10-15T10:37:09.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>Page has Expired  (php)</title><content type='html'>呼~不停的問題啊&lt;br /&gt;&lt;br /&gt;最近發現 之前寫的網頁有問題嚕~&lt;br /&gt;&lt;br /&gt;網頁裡面的表單送出後，再按"上一頁"&lt;br /&gt;就會出現&lt;br /&gt;"Warning: Page has Expired The page you requested was created using information you submitted in a form. This page is no longer available. As a security precaution, Internet Explorer does not automatically resubmit your information for you. &lt;br /&gt;&lt;br /&gt;To resubmit your information and view this Web page, click the Refresh button. "&lt;br /&gt;&lt;br /&gt;目前看到的解決方法~&lt;br /&gt;&lt;a href="http://shiflett.org/articles/how-to-avoid-page-has-expired-warnings"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;所以囉~到php.ini 找找"session.cache_limiter" 把值設為"private"看看~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7865897653096049785?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7865897653096049785/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/10/page-has-expired-php.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7865897653096049785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7865897653096049785'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/10/page-has-expired-php.html' title='Page has Expired  (php)'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7170672697271587061</id><published>2008-10-03T01:52:00.000-07:00</published><updated>2009-01-21T12:50:01.350-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='待續'/><category scheme='http://www.blogger.com/atom/ns#' term='vs2005'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# 聯結mysql</title><content type='html'>要在visual studio 2005 執行mysql連結的動作，需要先下載一個 "mysql連結驅動"&lt;br /&gt;先到 mysql 官網&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/connector/"&gt;http://dev.mysql.com/downloads/connector/&lt;/a&gt;&lt;br /&gt;選擇Connector/Net&lt;br /&gt;&lt;br /&gt;選第二個&lt;br /&gt;&lt;br /&gt;安裝步驟:&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/connector-net-installation-windows.html"&gt;http://dev.mysql.com/doc/refman/5.0/en/connector-net-installation-windows.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;法二&lt;br /&gt;MySQLDriverCS&lt;br /&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=63165"&gt;http://sourceforge.net/project/showfiles.php?group_id=63165&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7170672697271587061?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7170672697271587061/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/10/c-mysql.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7170672697271587061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7170672697271587061'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/10/c-mysql.html' title='C# 聯結mysql'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5671292647538509306</id><published>2008-09-29T21:30:00.000-07:00</published><updated>2009-02-23T22:54:17.677-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vs2005'/><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='widows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>於vs2005開啟一PDA專案檔</title><content type='html'>&lt;p&gt;點擊.sln檔案時，跳出一個錯誤視窗&lt;/p&gt; &lt;p&gt;從使用者資料存放區擷取資訊時發生錯誤。找不到平台。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;確定後又跳一個 :    無法開啟專案，因為它參考了您的資料存放區中沒有的裝置平台。&lt;/p&gt;&lt;p&gt;這個原因是因為開發這個PDA程式時是在某個平台上的SDK開發的&lt;/p&gt;&lt;p&gt;要怎麼看呢~ 用筆記本開啟.csproj檔， 找到下面幾行敘述&lt;/p&gt;&lt;p&gt;&lt;platformfamilyname&gt;&lt;/platformfamilyname&gt;/&gt;&lt;br /&gt;  &lt;platformid&gt;4118C335-430C-497f-BE48-11C3316B135E&lt;/platformid&gt;&lt;br /&gt;  &lt;osversion&gt;5.01&lt;/osversion&gt;&lt;/p&gt;&lt;p&gt;PocketPC 5.01 是 WIndows Mobile 5.0的平台，要安裝相關的SDK，可以到下載中心下載.&lt;/p&gt;&lt;p&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=83a52af2-f524-4ec5-9155-717cbe5d25ed&amp;amp;DisplayLang=en&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5671292647538509306?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5671292647538509306/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/09/vs2005pda.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5671292647538509306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5671292647538509306'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/09/vs2005pda.html' title='於vs2005開啟一PDA專案檔'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8292623158114070367</id><published>2008-06-14T01:21:00.000-07:00</published><updated>2008-06-15T15:35:01.602-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ns2'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><title type='text'>實驗八  影像傳輸效能分析與評估</title><content type='html'>實驗目的:了解各種影響影像傳輸的因素&lt;br /&gt;&lt;br /&gt;實驗步驟與實驗七差不多&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;STEP1&lt;/div&gt;&lt;div align="center"&gt;使用ffmpeg對yuv檔案做轉換成為m4v檔案，此實驗中使用不同量化程度的視訊串流做比較，參數為qscale,量化階級:2~31&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFOE5ALTusI/AAAAAAAAAbE/WMUKpIHRzRg/s1600-h/1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211655308632636098" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFOE5ALTusI/AAAAAAAAAbE/WMUKpIHRzRg/s320/1.png" border="0" /&gt;&lt;/a&gt; STEP2&lt;/div&gt;&lt;div align="center"&gt;接著再用MP4Box將m4v檔案轉成mp4檔案，需注意的是，若之後要使用不同封包大小傳送串流，下面的MP4Box的mtu選項須與之後的NS2模擬環境所使用的封包大小ㄧ致。&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFOE5it93OI/AAAAAAAAAbM/459KIfhsHk8/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211655317904809186" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFOE5it93OI/AAAAAAAAAbM/459KIfhsHk8/s320/2.png" border="0" /&gt;&lt;/a&gt; STEP3&lt;br /&gt;利用mp4trace將影片中每一個frame相關資訊取出存在foreman_qcif.st檔案中&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFOE58GCjdI/AAAAAAAAAbU/qcmb6nxZ8V0/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211655324716666322" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFOE58GCjdI/AAAAAAAAAbU/qcmb6nxZ8V0/s320/3.png" border="0" /&gt;&lt;/a&gt; STEP4&lt;br /&gt;接下來就可以使用ns2模擬工具開始模擬網路效能啦&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFODNgODWvI/AAAAAAAAAac/P8K6WAVqCQ8/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211653461808208626" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFODNgODWvI/AAAAAAAAAac/P8K6WAVqCQ8/s320/4.png" border="0" /&gt;&lt;/a&gt; STEP5&lt;/div&gt;&lt;div align="center"&gt;NS2模擬完後產生傳送紀錄檔sd,接收端記錄檔rd,及影片記錄檔foreman_qcif.st and mp4 file,經由etmp4 產生一個有畫面遺失的mp4檔案: &lt;/div&gt;&lt;div align="center"&gt;$ ./etmp4.exe sd rd foreman_qcif.st foreman_qcif.mp4 foreman_qcife&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div align="center"&gt;STEP6&lt;/div&gt;&lt;div align="center"&gt;use ffmpeg.exe to 回復上ㄧ步重建的mp4檔案成yuv檔案&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFODN-Lzl7I/AAAAAAAAAak/wOyb8g-3Q_c/s1600-h/5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211653469851850674" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFODN-Lzl7I/AAAAAAAAAak/wOyb8g-3Q_c/s320/5.png" border="0" /&gt;&lt;/a&gt; STEP7&lt;br /&gt;使用 avgpsnr.exe獲得重建後的yuv之PSNR value =26.609&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFODODxtVPI/AAAAAAAAAas/FpwC6ARxBaE/s1600-h/6.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211653471353001202" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFODODxtVPI/AAAAAAAAAas/FpwC6ARxBaE/s320/6.png" border="0" /&gt;&lt;/a&gt; 影響影像傳輸因素探討&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;a. 產生GOP length 9的方式:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFODOfB1VrI/AAAAAAAAAa0/iXwcT2LSjFE/s1600-h/7.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211653478668392114" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFODOfB1VrI/AAAAAAAAAa0/iXwcT2LSjFE/s320/7.png" border="0" /&gt;&lt;/a&gt;b.產生GOP length 15 的方式&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SFODOg_uqRI/AAAAAAAAAa8/qxWqORBHhK0/s1600-h/8.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211653479196436754" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SFODOg_uqRI/AAAAAAAAAa8/qxWqORBHhK0/s320/8.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8292623158114070367?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8292623158114070367/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/blog-post.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8292623158114070367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8292623158114070367'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/blog-post.html' title='實驗八  影像傳輸效能分析與評估'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTVHUy5toYM/SFOE5ALTusI/AAAAAAAAAbE/WMUKpIHRzRg/s72-c/1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5389087525328519436</id><published>2008-06-13T06:10:00.000-07:00</published><updated>2008-06-13T22:31:39.012-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ns2'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><title type='text'>實驗七 MyEalvid-NT</title><content type='html'>&lt;strong&gt;實驗目的&lt;/strong&gt;:&lt;br /&gt;&lt;div align="justify"&gt;了解如何使用MyEvalVid-NT去評量多媒體網路的效能，然後使用MyEvalVid-NT驗證所得知可解畫面比例分析模型。&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;背景&lt;/strong&gt;:&lt;br /&gt;&lt;div align="justify"&gt;為了測是我們提出的網路架構對於多媒體傳輸的效能影響，我們會使用影片做測試，然而因為影片版權問題所以便產生了video traffic trace file 供人下載測試，而為了讓MyEvalVid能夠使用video traffic trace file 去做網路模擬動作，因此便修改MyEvalVid使之成為一個新的工具組MyEvalVid-NT。&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;修改了什麼呢? 兩者之間的差異在於將MyEvalVid-NT中的Evaulate Trace(ET)做了修改，使其能計算可解畫面比例(Decodable Frame Rate)、封包/畫面遺失率、封包/畫面的端點與端點延遲、封包/畫面的抖動率。&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;在MPEG編碼中，被編碼的視訊串流被分類為: &lt;/div&gt;&lt;div align="justify"&gt;Intra-coded frame: 由自己本身畫面做編碼。&lt;/div&gt;&lt;div align="justify"&gt;Predictive-coded frame:參考先前被編碼的I-frame or P-frame 及自己本身做編碼&lt;/div&gt;&lt;div align="justify"&gt;Bi-directionally Predictive-code frame:參考先前及後來的I-frame or P-frame 及本身自己的資料做編碼&lt;/div&gt;&lt;div align="justify"&gt;在一個GOP的I-frame裡，所有屬於這個I-frame的封包都正確被接收到則稱此I-frame可解碼的。同理類推P and B -frame。&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;為了得到可解畫面比例分析模型，我們要先求得影像檔案中的三個frame可解碼的期望數目&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;定義:&lt;/strong&gt; &lt;strong&gt;可解畫面比例 = 所有可解碼的畫面數除以一個影像的所有畫面數&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;所以囉~可解畫面比例的值越大代表影像品質越好囉!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;實驗步驟:&lt;/div&gt;&lt;div align="center"&gt;STEP1&lt;/div&gt;到&lt;a href="http://ns2-sim.blogspot.com/2008/03/myealvid-nt.html"&gt;這裡&lt;/a&gt;下載video traffic trace file，抓完後打開檔案移除前兩行&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_7qtd3EI/AAAAAAAAAZ0/O5TfyC_lMnA/s1600-h/1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579488107617346" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_7qtd3EI/AAAAAAAAAZ0/O5TfyC_lMnA/s320/1.png" border="0" /&gt;&lt;/a&gt; 存檔放入資料夾lab7裡頭&lt;/div&gt;&lt;div align="center"&gt; &lt;/div&gt;&lt;div align="center"&gt;STEP2&lt;/div&gt;&lt;div align="center"&gt;使用NS2進行模擬&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFM_72taTKI/AAAAAAAAAZ8/coYeTyPY1qU/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579491328609442" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFM_72taTKI/AAAAAAAAAZ8/coYeTyPY1qU/s320/2.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;模擬結束後，會得到傳送端傳送封包的紀錄檔sd及接收端收到的封包記錄檔rd&lt;/p&gt;&lt;p align="center"&gt;STEP3&lt;br /&gt;再進行評估分析前，須先轉換trace file的格式&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_8NV_wXI/AAAAAAAAAaE/e2a0jdmFIe8/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579497404416370" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_8NV_wXI/AAAAAAAAAaE/e2a0jdmFIe8/s320/3.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;轉換完會得到Verbose_StarWarsIV.st影片記錄檔&lt;/p&gt;&lt;p align="center"&gt;STEP4&lt;/p&gt;&lt;p align="center"&gt;使用et這個程式進行記錄檔sd、rd、Verbose_StarWarsIV.st做比較，就可得知在此種情晃下可解畫面數及可解畫面比例的大小為多少&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFM_8fxcvGI/AAAAAAAAAaM/rUm5Ndx8RlY/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579502351400034" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFM_8fxcvGI/AAAAAAAAAaM/rUm5Ndx8RlY/s320/4.png" border="0" /&gt;&lt;/a&gt; 可知，這次網路模擬傳輸中共送出163682 packets,其中 I-frame:28770 p-frame:45339 B-frame:89573&lt;/p&gt;&lt;p&gt;總共遺失:1595  其中I-frame:281 p-frame:433 B-frame:881&lt;/p&gt;&lt;p&gt;可解畫面比例為0.913543&lt;br /&gt;total directly decodable frame 代表的意義為這個畫面所分割出來的封包全部被接收端所接收到的數目&lt;/p&gt;&lt;p align="center"&gt;STEP5&lt;br /&gt;經由下面操作可得平均延遲時間及最大延遲時間&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_8hRNhsI/AAAAAAAAAaU/9wvgq4S9Wb4/s1600-h/5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579502753056450" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_8hRNhsI/AAAAAAAAAaU/9wvgq4S9Wb4/s320/5.png" border="0" /&gt;&lt;/a&gt; STEP6&lt;/p&gt;&lt;p align="center"&gt;先把資料收集起來 $awk'{print $1, $2}' delay_pkt.txt &gt; delay_pkt&lt;br /&gt;開始繪圖&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_vj9Qp0I/AAAAAAAAAZU/TrXiIfrs6uk/s1600-h/7.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579280136382274" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_vj9Qp0I/AAAAAAAAAZU/TrXiIfrs6uk/s320/7.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_wPgwZoI/AAAAAAAAAZc/Hfgb32TVidc/s1600-h/8.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579291827988098" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_wPgwZoI/AAAAAAAAAZc/Hfgb32TVidc/s320/8.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;畫面平均延遲時間及最大延遲時間&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFM_wXLo8GI/AAAAAAAAAZk/LkwE7_3dxZs/s1600-h/9.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579293886902370" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFM_wXLo8GI/AAAAAAAAAZk/LkwE7_3dxZs/s320/9.png" border="0" /&gt;&lt;/a&gt;$awk'{print $1, $2}' delay_1.txt &gt; delay_1&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_wl1Y8AI/AAAAAAAAAZs/U1VdXaIviu4/s1600-h/10.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579297820110850" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_wl1Y8AI/AAAAAAAAAZs/U1VdXaIviu4/s320/10.png" border="0" /&gt;&lt;/a&gt; STEP7&lt;br /&gt;封包與畫面抖動率&lt;/div&gt;&lt;div align="center"&gt; &lt;/div&gt;&lt;div align="center"&gt;封包抖動率: &lt;/div&gt;&lt;div align="center"&gt;$awk'{print $1, $3}' delay_pkt.txt &gt; jitter_pkt &lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_gwArl8I/AAAAAAAAAYk/oXe9C-am1uw/s1600-h/11.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579025673918402" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_gwArl8I/AAAAAAAAAYk/oXe9C-am1uw/s320/11.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_hZVXq1I/AAAAAAAAAYs/g1RgKBF8q7Y/s1600-h/11_5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579036766546770" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_hZVXq1I/AAAAAAAAAYs/g1RgKBF8q7Y/s320/11_5.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_hu0OYiI/AAAAAAAAAY0/q1mz00Dg_As/s1600-h/12.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579042533106210" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_hu0OYiI/AAAAAAAAAY0/q1mz00Dg_As/s320/12.png" border="0" /&gt;&lt;/a&gt;畫面抖動率:&lt;/div&gt;&lt;div align="center"&gt;$awk'{print $1, $3}' delay_1.txt &gt; delay_frame &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_hxfdVTI/AAAAAAAAAY8/YD4dGB0yGj0/s1600-h/13.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579043251311922" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SFM_hxfdVTI/AAAAAAAAAY8/YD4dGB0yGj0/s320/13.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_iLpKz1I/AAAAAAAAAZE/UqN2GaXgFNM/s1600-h/14.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211579050271362898" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFM_iLpKz1I/AAAAAAAAAZE/UqN2GaXgFNM/s320/14.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5389087525328519436?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5389087525328519436/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/myealvid-nt.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5389087525328519436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5389087525328519436'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/myealvid-nt.html' title='實驗七 MyEalvid-NT'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_BTVHUy5toYM/SFM_7qtd3EI/AAAAAAAAAZ0/O5TfyC_lMnA/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5993399580160713697</id><published>2008-06-11T09:58:00.000-07:00</published><updated>2008-06-18T14:49:45.745-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>php 寫入檔案問題</title><content type='html'>使用&lt;br /&gt;$handle = fopen("c:/phpsid.txt" , "w+") ;&lt;br /&gt;fwrite($handle , $contents) ;&lt;br /&gt;fclose($handle) ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;出現&lt;br /&gt;Warning: fopen(c:/phpsid.txt) [&lt;a href="http://140.135.8.205/php_pratice_gmapuser/setarea_1.0/function.fopen"&gt;function.fopen&lt;/a&gt;]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\php_pratice_gmapuser\setarea_1.0\setarea.php on line 452&lt;br /&gt;Warning: fwrite(): supplied argument is not a valid stream resource in C:\Inetpub\wwwroot\php_pratice_gmapuser\setarea_1.0\setarea.php on line 453&lt;br /&gt;Warning: fclose(): supplied argument is not a valid stream resource in C:\Inetpub\wwwroot\php_pratice_gmapuser\setarea_1.0\setarea.php on line 454&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;怪哉~&lt;br /&gt;IIS 主目錄 下: 讀取 、 寫入 指令碼來源存取 都以勾選&lt;br /&gt;使用權限也選擇 指令碼及執行檔&lt;br /&gt;&lt;br /&gt;一直無法寫入，不知道哪裡有問題 悶~~&lt;br /&gt;程式碼換成&lt;br /&gt;$handle = fopen("c:/phpsid.txt" , "r") ;&lt;br /&gt;$contents = fread($handle , filesize("phpsid.txt")) ;&lt;br /&gt;fclose($handle) ;&lt;br /&gt;&lt;br /&gt;讀取，是可行的~~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5993399580160713697?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5993399580160713697/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/php.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5993399580160713697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5993399580160713697'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/php.html' title='php 寫入檔案問題'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-2581891198903841821</id><published>2008-06-05T01:04:00.000-07:00</published><updated>2008-06-12T10:58:23.027-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ns2'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><category scheme='http://www.blogger.com/atom/ns#' term='cygwin'/><title type='text'>實驗六: MyEvalVid</title><content type='html'>實驗目的:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Video Server 傳送影像至 Video Receiver，中間經過Internet 、無線網路，我們討論無線連接造成的封包遺失。&lt;br /&gt;&lt;br /&gt;我們針對影像使用MyEvalvid 做&lt;span style="color:#ff0000;"&gt;P&lt;/span&gt;eak to &lt;span style="color:#ff0000;"&gt;S&lt;/span&gt;ignal &lt;span style="color:#ff0000;"&gt;N&lt;/span&gt;osie &lt;span style="color:#ff0000;"&gt;R&lt;/span&gt;atio 評估，PSNR(峰值訊號雜訊比程式)是一種較為被大眾接受的影像品質鑑定客觀指標。 步驟如下&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;STEP1&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;我們使用ffmpeg.exe 把工人(foreman)的YUV檔案轉成m4V檔案&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;-s =&gt; set frame size , qcif means 176*144 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;-vcodec = &gt;指定壓縮方式，如mpeg4 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;-r =&gt;set frame rate ，這裡設定每秒30個畫面 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;-g =&gt; set the group of picture size，設定每一group有9個畫面 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;-bf = &gt;use 'frames' B frames， 設定I與P之間or P與P之間有兩個frame &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;-i = &gt;input file name，輸入來源影片 foreman_qcif.yuv &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV7xapVKI/AAAAAAAAAX8/5r-n2fLxpQs/s1600-h/1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040729210115234" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV7xapVKI/AAAAAAAAAX8/5r-n2fLxpQs/s320/1.png" border="0" /&gt;&lt;/a&gt;STEP2&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;用MP4Box把 .m4v 再轉成 .mp4 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV8LMgdtI/AAAAAAAAAYE/1KH0hBjgjcE/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040736130135762" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV8LMgdtI/AAAAAAAAAYE/1KH0hBjgjcE/s320/2.png" border="0" /&gt;&lt;/a&gt; STEP3&lt;/p&gt;&lt;p align="center"&gt;用mp4trace.exe 將每一個frame的資訊擷取出來存到forman_qcif.st中&lt;/p&gt;&lt;p align="center"&gt;其中 192.168.0.2 is destination ip ，destination port number is 12346&lt;/p&gt;&lt;p align="center"&gt;(這邊設定不重要，因為沒有真的傳上網)&lt;/p&gt;&lt;p align="center"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211045520716052818" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFFaSrKruVI/AAAAAAAAAYc/OjCuRkc7EuY/s320/2_1.png" border="0" /&gt;現在在lab6裡頭有這四檔案&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SFFV8a3Z_WI/AAAAAAAAAYM/W-Y1gKJnKxI/s1600-h/2_5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040740336598370" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SFFV8a3Z_WI/AAAAAAAAAYM/W-Y1gKJnKxI/s320/2_5.png" border="0" /&gt;&lt;/a&gt; foreman_qcif.st 裡面有400筆資料&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV8ftr2XI/AAAAAAAAAYU/gebzJBj30Co/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040741638003058" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV8ftr2XI/AAAAAAAAAYU/gebzJBj30Co/s320/3.png" border="0" /&gt;&lt;/a&gt;between H and P or P and P have 2 B frame (與壓縮時的參數相關) &lt;/p&gt;&lt;p align="center"&gt;STEP4&lt;/p&gt;&lt;p align="center"&gt;開始用NS2模擬工具模擬網路效能 (&lt;a href="http://docs.google.com/Doc?id=dcg4t39g_893ppjpwd6"&gt;lab6_1.tcl&lt;/a&gt;)&lt;/p&gt;&lt;p align="left"&gt;參數為 : &lt;/p&gt;&lt;p align="left"&gt;opt(0) = good-&gt;good 的機率&lt;br /&gt;opt(1) = bad-&gt;bad 的機率&lt;br /&gt;opt(2) = 在 good state下，封包發生錯誤的機率&lt;br /&gt;opt(3) = 在 bad state下，封包發生錯誤的機率&lt;br /&gt;opt(4) = seed number&lt;br /&gt;opt(5) = 把每一畫面切成多少size大小的封包&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFFVo3hsrLI/AAAAAAAAAXU/dBatrunx3ic/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040404432792754" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFFVo3hsrLI/AAAAAAAAAXU/dBatrunx3ic/s320/4.png" border="0" /&gt;&lt;/a&gt; 傳送端送出659個封包，但接收端只收到652個封包&lt;/div&gt;&lt;div align="center"&gt;遺失率為0.0106&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;STEP5&lt;/div&gt;&lt;div align="center"&gt;使用模擬過程產生的TX記錄檔sd、RX記錄檔rd 與影片記錄檔foreman_qcif.st 和 mp4檔案&lt;/div&gt;&lt;div align="center"&gt;經由tmp4產生一個畫面有遺失的影片foreman_qcife.mp4&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040407339195570" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SFFVpCWo3LI/AAAAAAAAAXc/vCPKKsQHJ6k/s320/5.png" border="0" /&gt; &lt;p align="center"&gt;STEP6&lt;/p&gt;&lt;p align="center"&gt;再次使用ffmpeg將重建的foreman_qcife.mp4 轉回foreman_qcife.yuv&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFFVpAgtbkI/AAAAAAAAAXk/xCzY54CdjAA/s1600-h/6.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040406844567106" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFFVpAgtbkI/AAAAAAAAAXk/xCzY54CdjAA/s320/6.png" border="0" /&gt;&lt;/a&gt;STEP7&lt;/p&gt;&lt;p align="center"&gt;使用avgpsnr針對重建後的 foreman_qcife.yuv 及原始foreman_qcif.yuv，獲得重建後foreman_qcife.yuv的PSNR值為34.839083&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SFFVpe1IFSI/AAAAAAAAAXs/78Ye1rFyaf4/s1600-h/7.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040414983263522" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SFFVpe1IFSI/AAAAAAAAAXs/78Ye1rFyaf4/s320/7.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;&lt;/p&gt;STEP8&lt;br /&gt;接下來用YUViwer.exe真正觀察影片差異&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SFFVps8pXpI/AAAAAAAAAX0/JaK6vTFzacM/s1600-h/8.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5211040418772901522" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SFFVps8pXpI/AAAAAAAAAX0/JaK6vTFzacM/s320/8.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;&lt;/p&gt;左邊為原始影像，右邊為重建影像&lt;br /&gt;因為封包遺失率為0.01 所以好像也不怎麼明顯&lt;br /&gt;不過放大後看就有差了，畫面會比較霧些&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-2581891198903841821?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/2581891198903841821/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/myevalvid.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2581891198903841821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/2581891198903841821'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/myevalvid.html' title='實驗六: MyEvalVid'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_BTVHUy5toYM/SFFV7xapVKI/AAAAAAAAAX8/5r-n2fLxpQs/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-5744374031281240044</id><published>2008-06-04T11:52:00.000-07:00</published><updated>2009-02-23T22:55:23.120-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='暫時存放'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>gmap進度</title><content type='html'>終於找到存區域設定端點座標的變數了 -&gt;endPointsMarker[i]&lt;br /&gt;&lt;br /&gt;但是這個變數存在於function內，非廣義變數，要看完全部才能確定是否另設成廣義變數&lt;br /&gt;因為endPointsMarker[i]出現在很多函式內，用不同名稱的引數做傳遞。&lt;br /&gt;目前想到兩個方法:&lt;br /&gt;1.用廣義變數，一但對點做任何變動或更新，就改變值(字串)。但是會更動很多地方..&lt;br /&gt;2.也許只要在端點移動結束且勾選已設定好區域在抓函式內的變數就好(物件)。&lt;br /&gt;&lt;br /&gt;終於有點進度了~&lt;br /&gt;但是資料庫那邊出現&lt;br /&gt;Warning: mysql_connect() [&lt;a href="http://140.135.8.205/php_pratice_gmapuser/function.mysql-connect"&gt;function.mysql-connect&lt;/a&gt;]: Can't connect to MySQL server on '140.115.51.5' (10060) in C:\Inetpub\wwwroot\php_pratice_gmapuser\db.php on line 8&lt;br /&gt;&lt;br /&gt;Warning: mysql_select_db() [&lt;a href="http://140.135.8.205/php_pratice_gmapuser/function.mysql-select-db"&gt;function.mysql-select-db&lt;/a&gt;]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Inetpub\wwwroot\php_pratice_gmapuser\db.php on line 10&lt;br /&gt;&lt;br /&gt;連線無法建立，孤狗結果是資料庫server那邊有問題，要重開，再跟他們說吧~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-5744374031281240044?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/5744374031281240044/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/gmap.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5744374031281240044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/5744374031281240044'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/06/gmap.html' title='gmap進度'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-9059917564356365241</id><published>2008-05-22T00:10:00.000-07:00</published><updated>2009-02-23T22:56:03.400-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ns2'/><title type='text'>準備工具</title><content type='html'>應用程式named "MmApp"(修改CBR程式得來) 衍生自"Application"類別&lt;br /&gt;"MmApp" generate packet , transform by "UdpMmAgent","UdpMmAgent"衍生自"UdpAgent"類別&lt;br /&gt;&lt;br /&gt;封包是用"hdr_mm"結構來描述。&lt;br /&gt;&lt;br /&gt;程式路徑:&lt;br /&gt;packet.h                    c:\cygwin\home\STD416\ns-allinone-2.29\common&lt;br /&gt;ns-packet.tcl            c:\cygwin\home\STD416\ns-allinone-2.29\tcl\lib&lt;br /&gt;agent.h                      c:\cygwin\home\STD416\ns-allinone-2.29\common&lt;br /&gt;app.h                         c:\cygwin\home\STD416\ns-allinone-2.29\apps&lt;br /&gt;ns-default.tcl           c:\cygwin\home\STD416\ns-allinone-2.29\tcl\lib&lt;br /&gt;&lt;br /&gt;timer-handler          c:\cygwin\home\STD416\ns-allinone-2.29\common&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-9059917564356365241?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/9059917564356365241/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/05/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9059917564356365241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/9059917564356365241'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/05/blog-post.html' title='準備工具'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3808386110560896870</id><published>2008-05-21T23:20:00.000-07:00</published><updated>2008-05-22T01:58:02.767-07:00</updated><title type='text'>無線隨意網路路由協定</title><content type='html'>無線隨意網路中， 路由協定可分兩類:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;proactive routing protocol: &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Wireless Routing Protocol , Destination-Sequenced Distance-Vector protocol&lt;/p&gt;&lt;ul&gt;&lt;li&gt;reactive routing protocol :&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Dynamic Source Routing , Ad hoc On-Demand Distance Vector Routing&lt;/p&gt;&lt;p&gt;比較 DSDV vs. AODV vs. DSR&lt;/p&gt;&lt;p&gt;&lt;strong&gt;DSDV &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;DSDV中美一個無線節點必須儲存並持續更新一個路由表，路由表內記錄著"目的地位置(destination)"、"下一個節點(next hop)"、"路徑節點數(hop count)"、"循序號碼(sequence number)"與 "第一次相連時間(install)"&lt;/p&gt;&lt;p&gt;路徑表的更新擁有time-driven &amp;amp; event-driven ，可以定期向周圍傳送路由表資訊，也可能因為網路拓樸劇變而向周圍傳送...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;AODV&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;當無線節點要傳送封包出去時，先查找自己的路徑表，若無目的地節點的資訊，則廣播&lt;strong&gt;R&lt;/strong&gt;oute &lt;strong&gt;Req&lt;/strong&gt;uest&lt;strong&gt;s&lt;/strong&gt;(RREQs)封包尋找路徑。&lt;br /&gt;每個RREQs都配有一個ID當無線節點收到RREQs時，先看ID之前有沒有收過，有的話就丟棄，以免RREQs充斥在網路上，再檢查自己是不是封包裡的目的地位置，不是，則看此中繼點(intermediate node)是否有可用的路徑可以到達目的地節點，沒有，則根據封包內資訊修改路徑表後再廣播出去。&lt;/p&gt;&lt;p&gt;每一個收到RREQs的無線節點都會cache住如何返回當時發出Route Reply要求來源端的路徑，因此當中繼點收到RREQ時，可以利用單點廣播方法送出RREP從目的地端到來源端，途中的無線節點根據RREP的位置序號更改路徑表，最後來源端的路徑表就含有到目的地節點的entry，接下來開始資料的傳送。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;DSR&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;利用source routing觀念，即Tx知道Rx完整的跳躍路徑(hop-by-hop route)。&lt;br /&gt;每個節點都有路徑暫存器，而路徑資訊直接記錄在每個封包的header中。&lt;br /&gt;&lt;br /&gt;路徑發現程序(route discovery)與AODV類似，欲傳送封包時，先看自己的路徑表，若找不到到達目的地端的route entry，則作廣播動作發送RREQs，而收到RREQ的節點會回覆RREP給原本的來源端或中繼點，藉此產生路徑。不同的是，路徑記錄每經過一個跳耀，就會將跳躍ID季在RREQ的路徑記錄中，這樣，路徑記錄到目的地時就會有該路徑所有節點的資訊，目的端會在中多的REQUEST中挑選最佳路徑，根據路徑記錄傳送一個Route Reply回到來源端，來源端再將紀錄再route reply裡的路徑記錄儲存在路由表中。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3808386110560896870?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3808386110560896870/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/05/blog-post_21.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3808386110560896870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3808386110560896870'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/05/blog-post_21.html' title='無線隨意網路路由協定'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3299731807601634698</id><published>2008-05-08T00:56:00.000-07:00</published><updated>2008-06-05T00:02:39.171-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><title type='text'>實驗十 無線網路效能分析探討(二) Ad Hoc網路路由協定效能分析</title><content type='html'>&lt;p align="left"&gt;&lt;span style="font-size:130%;"&gt;實驗目的&lt;br /&gt;&lt;/span&gt;1.了解如在在NS2中建立無線隨意網路(wireless Ad Hoc network)。&lt;br /&gt;2.學習分析無線隨意網路路由協定(Ad Hoc routing protocols)的效能。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;背景知識&lt;br /&gt;&lt;/span&gt;行動式手提設備(手機、PDA、筆電)，都屬於可移動的無線裝置，而&lt;strong&gt;無線傳輸方式&lt;/strong&gt;可分成兩大類&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Infrastructure:透過基地台，由中央控制的傳輸模式&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Wireless Ad Hoc Network:特色是所有節點以對等方式進行無線網路存取，不需透過無線基地台 (wiki. Sony PSP 網路對戰就是這樣一個應用，還沒玩過，殘念~~)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:0;"&gt;&lt;span style="font-size:130%;"&gt;無線隨意網路路由協定&lt;/span&gt; :&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:0;"&gt;&lt;strong&gt;Proactive routing protocol (table-driven protocol)&lt;/strong&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:0;"&gt;每個無線節點固定一&lt;/span&gt;段時間就會發送路徑訊息，各個無線節點依據收集近來的資料更新自己的路徑表，網路拓樸更動時，所有節點都會收到最新的路徑資訊，這種持續的更新會讓所有節點隨時有完整的路徑。 &lt;/p&gt;&lt;br /&gt;&lt;p&gt;優點：Proactive routing protocol 讓每個送出的封包立刻得知到達目的地的路徑，沒有任何延遲 缺點：這種協定因為週期性的廣播訊息，浪費大量頻寬與無線網路節點的電源 &lt;/p&gt;&lt;br /&gt;&lt;p&gt;現存的協定有：&lt;/p&gt;&lt;p&gt;Wireless Routing Protocol Destination-Sequenced Distance-Vector protocol &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Reactive routing protocol (demand-driven routing protocol)&lt;/strong&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;當一個節點要傳送資料給另一個節點時，來源節點會呼叫一個路徑發現程序(route-discovery process)並將此保存在暫存器中，直到過期或路徑無效 &lt;/p&gt;&lt;p&gt;優點:只有在有需要時才主動發現路徑，不需要保存對整個網路環境的路由資訊，所以頻寬使用量較小。&lt;br /&gt;缺點:路徑發現程序會造成延遲，平均延遲時間較長，所以尋找路徑時間較長。 &lt;/p&gt;&lt;p&gt;&lt;a href="http://netcomclarkboy.blogspot.com/2008/05/blog-post_21.html"&gt;DSDV vs. AODV vs. DSR&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;評估參數(Performance Metrics)&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;下面列出在此類效能分析實驗中最常用到的幾個評估參數 1.封包送達比例(Packet delivery fraction):CBR 來源端傳送封包數/到達目的地端封包數 2.封包平均點到點延遲時間 (Average end-to-end delay of data packets):所有延遲時間的總和，包括 發現路徑的緩衝時間、MAC層的重傳時間、傳遞時間 等。 3.第一個封包收到的時間 : 用來評估路由表收斂時間，若越早收到則表是收斂速度越快，這樣才能越早把封包從Tx送到Rx 實驗步驟 intruduce tools : cbrgen &amp;amp; setdest cbrgen (~/ns-allinone-2.29/ns-2.29/indep-utils/cmu-scen-gen/cbrgen.tcl): generate TCP flow or CBR flow 用法 ns cbrgen [-type cbrtcp] [-nn node] [-seed seed] [-mc connections] [-rate rate] 舉例: p1&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SCQwQAVEzpI/AAAAAAAAAW0/hiE5THKCR0o/s1600-h/1.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332921416830610" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SCQwQAVEzpI/AAAAAAAAAW0/hiE5THKCR0o/s320/1.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQwQQVEzqI/AAAAAAAAAW8/YLsf1NrOq9U/s1600-h/2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332925711797922" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQwQQVEzqI/AAAAAAAAAW8/YLsf1NrOq9U/s320/2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQwQQVEzrI/AAAAAAAAAXE/tLBGCZtUHDo/s1600-h/3.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332925711797938" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQwQQVEzrI/AAAAAAAAAXE/tLBGCZtUHDo/s320/3.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQwQgVEzsI/AAAAAAAAAXM/I-nPzrc5DGc/s1600-h/4.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332930006765250" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQwQgVEzsI/AAAAAAAAAXM/I-nPzrc5DGc/s320/4.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQwDQVEzkI/AAAAAAAAAWM/eW2pcu2HgHI/s1600-h/5.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332702373498434" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQwDQVEzkI/AAAAAAAAAWM/eW2pcu2HgHI/s320/5.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQwDgVEzlI/AAAAAAAAAWU/rhAPbBO0JuY/s1600-h/6.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332706668465746" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQwDgVEzlI/AAAAAAAAAWU/rhAPbBO0JuY/s320/6.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQwDwVEzmI/AAAAAAAAAWc/aJng5heJmC4/s1600-h/7++æé¯èª¤.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332710963433058" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQwDwVEzmI/AAAAAAAAAWc/aJng5heJmC4/s320/7++%E6%9C%89%E9%8C%AF%E8%AA%A4.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQwDwVEznI/AAAAAAAAAWk/KHwQPnO9SbU/s1600-h/8cbr_n100_m10_r10å±ç¶æ¯ç©ºç.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332710963433074" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQwDwVEznI/AAAAAAAAAWk/KHwQPnO9SbU/s320/8cbr_n100_m10_r10%E5%B1%85%E7%84%B6%E6%98%AF%E7%A9%BA%E7%9A%84.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQwDwVEzoI/AAAAAAAAAWs/lM-65l84mIU/s1600-h/6ç.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198332710963433090" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQwDwVEzoI/AAAAAAAAAWs/lM-65l84mIU/s320/6%E7%9C%9F.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQusgVEzfI/AAAAAAAAAVk/DF6JNsxKKH4/s1600-h/7++æé¯èª¤.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQutQVEzgI/AAAAAAAAAVs/BIBRnq7udh8/s1600-h/8cbr_n100_m10_r10å±ç¶æ¯ç©ºç.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQutQVEzhI/AAAAAAAAAV0/BlnX7deZnE8/s1600-h/9.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198331224904748562" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQutQVEzhI/AAAAAAAAAV0/BlnX7deZnE8/s400/9.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQutQVEziI/AAAAAAAAAV8/Db06nIXDEkU/s1600-h/10.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198331224904748578" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQutQVEziI/AAAAAAAAAV8/Db06nIXDEkU/s400/10.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQutgVEzjI/AAAAAAAAAWE/uhOrw5Cw0cU/s1600-h/11.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198331229199715890" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQutgVEzjI/AAAAAAAAAWE/uhOrw5Cw0cU/s400/11.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQuZwVEzaI/AAAAAAAAAU8/c-_yiJ6o5J4/s1600-h/12.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198330889897299362" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SCQuZwVEzaI/AAAAAAAAAU8/c-_yiJ6o5J4/s400/12.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SCQuaAVEzbI/AAAAAAAAAVE/wGl1KH6a8uI/s1600-h/13.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198330894192266674" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SCQuaAVEzbI/AAAAAAAAAVE/wGl1KH6a8uI/s400/13.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQuaQVEzcI/AAAAAAAAAVM/tY_SDW9-Frk/s1600-h/14.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198330898487233986" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SCQuaQVEzcI/AAAAAAAAAVM/tY_SDW9-Frk/s400/14.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQuagVEzdI/AAAAAAAAAVU/uYYkqToKaSM/s1600-h/15.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198330902782201298" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQuagVEzdI/AAAAAAAAAVU/uYYkqToKaSM/s400/15.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQuagVEzeI/AAAAAAAAAVc/ylVVsh1K7D0/s1600-h/16+17+18+19+20+21+å¨é¨å¯¦é©.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5198330902782201314" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SCQuagVEzeI/AAAAAAAAAVc/ylVVsh1K7D0/s400/16+17+18+19+20+21+%E5%85%A8%E9%83%A8%E5%AF%A6%E9%A9%97.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3299731807601634698?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3299731807601634698/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/05/ad-hoc.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3299731807601634698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3299731807601634698'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/05/ad-hoc.html' title='實驗十 無線網路效能分析探討(二) Ad Hoc網路路由協定效能分析'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_BTVHUy5toYM/SCQwQAVEzpI/AAAAAAAAAW0/hiE5THKCR0o/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6474062408973882143</id><published>2008-04-26T14:23:00.000-07:00</published><updated>2008-04-27T13:29:38.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ns2'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><title type='text'>lab9 無線網路效能分析探討(-) 隱藏節點和暴露節點問題</title><content type='html'>&lt;div align="left"&gt;&lt;br /&gt;&lt;br /&gt;實驗目的:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="left"&gt;了解什麼是隱藏節點和暴露節點 &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;了解 RTS/CTS如何降低隱藏節點問題發生的機會,以提升系統效能 3. 了解 NS2 中無線傳輸模型和門檻的觀念&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="left"&gt;背景知識:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;隱藏節點問題:&lt;br /&gt;&lt;br /&gt;節點B在節點A和節點C傳輸範圍內的交集區域內,但是A和C都不在互相的傳輸範圍內,這時有兩個節點A,C同時想傳送資料給節點B,節點A傳送資料給B時,節點C會認為目前網路閒置,同時也會傳送資料給節點B,同時傳送給節點B的資料就會發生碰撞(Collision).&lt;br /&gt;&lt;br /&gt;這種因傳送距離而發生的誤判的問題稱為&lt;strong&gt;隱藏節點問題&lt;/strong&gt;(Hidden Terminal Problem).&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://www.cww.net.cn/upLoadFile/2007/8/6/20078611243734.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://www.cww.net.cn/upLoadFile/2007/8/6/20078611243734.gif" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;降低隱藏節點問題&lt;br /&gt;&lt;br /&gt;當Tx在送出資料前先發送一個控制封包 (Request to Send),告知Tx傳送範圍內的所有節點不要有任何傳輸的動作,而Rx如果目前是空閒的,則回應一個Clear to Send 封包告訴Tx可以開始傳送料,如此一來就可以降低隱藏節點的問題,但是並不能完全解決! &lt;/div&gt;&lt;/li&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;li&gt;&lt;div align="left"&gt;暴露節點問題&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://www.cww.net.cn/upLoadFile/2007/8/6/20078611244580.gif" border="0" /&gt;Tx:C 要傳送資料給D時,發現(聽到)傳輸範圍內的B正在傳送資料給A(C是B的暴露節點),Tx:C就會延遲傳送,但這種延遲是不必要的,因為B傳送資料給A與C傳送資料給D並不衝突,因此這種因為聽到傳輸範圍內有節點在傳輸,而延遲傳輸就是&lt;strong&gt;暴露節點的問題&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;使用RTS/CTS&lt;br /&gt;我們可能想到使用RTS/CTS,當C聽到B送出的RTS,但卻沒聽到相對應的CTS,那麼不就可以推論出C是自己是暴露節點了嗎?!所以C可以同時傳送資料出去,但在這種情況下,如果是別人傳送資料給C,那麼就可能預B傳送的資料發生碰撞,所以使用RTS/CTS並不能解決暴露節點的問題&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;傳輸模型及門檻&lt;br /&gt;NS2實做了一些傳輸模型:&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="center"&gt;&lt;br /&gt;Free Space 是最理想的傳輸模型(檔案在~/ns-2.29/mobile/propagation.h &amp;amp; propagation.cc)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOe4l6YIqI/AAAAAAAAAT0/5mkDf5bXx-0/s1600-h/path+loss+model.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669490375140002" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOe4l6YIqI/AAAAAAAAAT0/5mkDf5bXx-0/s320/path+loss+model.gif" border="0" /&gt;&lt;/a&gt; Two Ray Ground 除了考慮直線 path loss也考慮地面反射(reflection of ground)&lt;br /&gt;(檔案在~/ns-2.29/mobile/tworayground.h &amp;amp; tworayground.cc)&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669494670107314" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOe416YIrI/AAAAAAAAAT8/axms2byxVtE/s320/two+ray+ground+model.gif" border="0" /&gt;&lt;/p&gt;&lt;p align="center"&gt;Shadowing 是用來模擬Tx到Rx中間有障礙物時對傳送訊號的影響,常用於indoor&lt;br /&gt;(檔案在~/ns-2.29/mobile/shadowing.h &amp;amp; shadowing.cc)&lt;/p&gt;&lt;p align="left"&gt;關於"門檻",NS2主要利用訊號強度門檻(Threshold)方式,判斷封包是否成功收到&lt;br /&gt;NS2設定一個訊號偵測(Carrier Sense)的門檻CSThresh_ ,決定封包是否能被Rx偵測出來 (於PHY Module)&lt;br /&gt;NS2會設定另一個RxThresh_ ,用來判斷封包是否能被Rx所接收 (於MAC)&lt;br /&gt;&lt;br /&gt;(檔案在~/ns-2.29/mobile/wireless-phy.h &amp;amp; wireless-phy.cc)&lt;/p&gt;&lt;p align="center"&gt;開始實驗步驟&lt;/p&gt;&lt;p align="center"&gt;STEP1. &lt;/p&gt;&lt;p align="center"&gt;ns2提供一個小工具程式threshold.cc(在ns-allinone-2.29/ns-2.29/indep-utils/propagation)，他可以藉由輸入想要使用的傳輸模型和有效傳輸距離，而輸出相對應的參數值&lt;br /&gt;&lt;br /&gt;用g++編譯它&lt;br /&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669498965074626" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOe5F6YIsI/AAAAAAAAAUE/boJ4siJoWoQ/s320/1%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%BF%E7%94%A8%E8%A6%81%E5%85%88%E7%B7%A8%E8%AD%AF%E9%80%99%E5%80%8B%E5%B0%8F%E5%B7%A5%E5%85%B7.png" border="0" /&gt; &lt;p align="center"&gt;&lt;br /&gt;顯示警告&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOesV6YIlI/AAAAAAAAATM/bL8xa2UUPqM/s1600-h/2åºç¾åé¡äº.png"&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669279921742418" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOesV6YIlI/AAAAAAAAATM/bL8xa2UUPqM/s320/2%E5%87%BA%E7%8F%BE%E5%95%8F%E9%A1%8C%E4%BA%86.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;意思是版本不同了,引入的標頭檔不用x.h的形式而用x來取代&lt;br /&gt;沒關係 不影響我們的作業&lt;br /&gt;編譯完後在同目錄下會產生一個threshold.exe&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;STEP2&lt;br /&gt;執行&lt;/div&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOes16YImI/AAAAAAAAATU/0V5FH6dlaPo/s1600-h/3.+å·è¡threadshold.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669288511677026" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOes16YImI/AAAAAAAAATU/0V5FH6dlaPo/s320/3.+%E5%9F%B7%E8%A1%8Cthreadshold.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;它告訴我們使用方法囉&lt;br /&gt;來測試看看 設定傳輸模式TwoRayGround 有效傳輸距離250m&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;顯示參數&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOetF6YInI/AAAAAAAAATc/ojT0EmzqGRs/s1600-h/4é¡¯ç¤ºåæ¸.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669292806644338" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOetF6YInI/AAAAAAAAATc/ojT0EmzqGRs/s320/4%E9%A1%AF%E7%A4%BA%E5%8F%83%E6%95%B8.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;STEP3&lt;br /&gt;用TCL模擬程式驗證(home/clark/lab9/test_2nodes.tcl)&lt;br /&gt;這程式設定有兩節點n0(30,30),n1(280,30) n0要傳輸給n1,參數如上設定&lt;br /&gt;執行&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOetV6YIoI/AAAAAAAAATk/6aNNSHi6K6Y/s1600-h/5nsæ¨¡æ¬.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669297101611650" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOetV6YIoI/AAAAAAAAATk/6aNNSHi6K6Y/s320/5ns%E6%A8%A1%E6%93%AC.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;模擬結束,會產生接收紀錄檔,打開來看看,確實有接收到&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOetV6YIpI/AAAAAAAAATs/i1pgP6XVGug/s1600-h/6rdè¨éæª.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669297101611666" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOetV6YIpI/AAAAAAAAATs/i1pgP6XVGug/s320/6rd%E8%A8%98%E9%8C%84%E6%AA%94.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;STEP4&lt;br /&gt;那如果變更超過可接受距離呢? &lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOegF6YIgI/AAAAAAAAASk/fveW7jS6oT4/s1600-h/7ç·¨è¼¯+test_2nodes+çºxåº§æ¨281.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669069468344834" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOegF6YIgI/AAAAAAAAASk/fveW7jS6oT4/s320/7%E7%B7%A8%E8%BC%AF+test_2nodes+%E7%82%BAx%E5%BA%A7%E6%A8%99281.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;在執行一次 $ns test_2nodes.tcl,開啟此次接收檔rd&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOegV6YIhI/AAAAAAAAASs/ACPvCZ36OzY/s1600-h/8+0k.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669073763312146" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOegV6YIhI/AAAAAAAAASs/ACPvCZ36OzY/s320/8+0k.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;可知n1完全沒接收到n0傳來的資料&lt;br /&gt;&lt;br /&gt;接下來要討論隱藏節點問題了&lt;br /&gt;如圖一nA-nB d=100m ,nB-nC d=100 m,節點之間的carrier sense d=150m 傳送有效距離為120m&lt;br /&gt;利用小工具知道我們要設定的參數&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOegl6YIiI/AAAAAAAAAS0/8x5-RDwhQYk/s1600-h/9+è·é¢120çåæ¸.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669078058279458" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOegl6YIiI/AAAAAAAAAS0/8x5-RDwhQYk/s320/9+%E8%B7%9D%E9%9B%A2120%E7%9A%84%E5%8F%83%E6%95%B8.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOegl6YIjI/AAAAAAAAAS8/RbewsWwOL_I/s1600-h/10è·é¢150çåæ¸.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669078058279474" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOegl6YIjI/AAAAAAAAAS8/RbewsWwOL_I/s320/10%E8%B7%9D%E9%9B%A2150%E7%9A%84%E5%8F%83%E6%95%B8.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;對於CSThresh_的設定 ,因為用的公是相同,只要把RXThresh_結果拿來用即可&lt;br /&gt;&lt;a id="o.vp" title="TCL模擬程式" href="http://docs.google.com/Doc?id=dcg4t39g_37hjsnsqc9" goog_docs_charindex="2667"&gt;TCL模擬程式&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;執行&lt;br /&gt;$ns test_hidden_terminal.tcl&lt;br /&gt;我們看執行後產生的紀錄檔 &lt;/p&gt;&lt;p align="center"&gt;sd1:&lt;/p&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOeg16YIkI/AAAAAAAAATE/05rLJAz_kqQ/s1600-h/11+sd1å¾n0+send+1688åå°å.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669082353246786" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOeg16YIkI/AAAAAAAAATE/05rLJAz_kqQ/s320/11+sd1%E5%BE%9En0+send+1688%E5%80%8B%E5%B0%81%E5%8C%85.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;sd2: &lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOeO16YIbI/AAAAAAAAAR8/9N204qrCoVA/s1600-h/12+sd2+å¾n2+send+1656åå°å.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668773115601330" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOeO16YIbI/AAAAAAAAAR8/9N204qrCoVA/s320/12+sd2+%E5%BE%9En2+send+1656%E5%80%8B%E5%B0%81%E5%8C%85.png" border="0" /&gt;&lt;/a&gt; rd1:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOePF6YIcI/AAAAAAAAASE/IAaBd39gBNk/s1600-h/13+rd1+resieve+167åå°å.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668777410568642" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOePF6YIcI/AAAAAAAAASE/IAaBd39gBNk/s320/13+rd1+resieve+167%E5%80%8B%E5%B0%81%E5%8C%85.png" border="0" /&gt;&lt;/a&gt; rd2:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOePV6YIdI/AAAAAAAAASM/B136e_Us_eo/s1600-h/14+rd2+resieve+83åå°å.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668781705535954" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOePV6YIdI/AAAAAAAAASM/B136e_Us_eo/s320/14+rd2+resieve+83%E5%80%8B%E5%B0%81%E5%8C%85.png" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div align="center"&gt;更改TCL模擬檔&lt;br /&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOePV6YIeI/AAAAAAAAASU/Yek7FLSs7Jo/s1600-h/15æ´æ¹+è¨»è§£æRTSThreshold_3000+ä½¿RTSå&amp;shy;å¨.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668781705535970" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOePV6YIeI/AAAAAAAAASU/Yek7FLSs7Jo/s320/15%E6%9B%B4%E6%94%B9+%E8%A8%BB%E8%A7%A3%E6%8E%89RTSThreshold_3000+%E4%BD%BFRTS%E5%AD%98%E5%9C%A8.png" border="0" /&gt;&lt;/a&gt;再一次執行&lt;/p&gt;&lt;p align="center"&gt;rd1:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOePl6YIfI/AAAAAAAAASc/771UBUPpYPs/s1600-h/16+rd1+746åå°åæ¥æ¶.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668786000503282" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOePl6YIfI/AAAAAAAAASc/771UBUPpYPs/s320/16+rd1+746%E5%80%8B%E5%B0%81%E5%8C%85%E6%8E%A5%E6%94%B6.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;rd2: &lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOeA16YIWI/AAAAAAAAARU/ztcxCk0izOY/s1600-h/17+rd2æ¥æ¶.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668532597432674" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOeA16YIWI/AAAAAAAAARU/ztcxCk0izOY/s320/17+rd2%E6%8E%A5%E6%94%B6.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;明顯的 使用RTS/CTS可以降低隱藏節點問題,但不能完整解決&lt;br /&gt;&lt;br /&gt;接下來討論暴露節點問題&lt;br /&gt;如圖2所示&lt;br /&gt;S1,S2同時想分別傳送 資料給R1,R2,節點之間距離都是100m ,carrier sense 距離120m,有效傳輸距離100m用小工具算出相對應參數&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOeBF6YIXI/AAAAAAAAARc/yrwFZRx1250/s1600-h/20++è·é¢100çåæ¸.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668536892399986" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOeBF6YIXI/AAAAAAAAARc/yrwFZRx1250/s320/20++%E8%B7%9D%E9%9B%A2100%E7%9A%84%E5%8F%83%E6%95%B8.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5193669078058279458" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOegl6YIiI/AAAAAAAAAS0/8x5-RDwhQYk/s320/9+%E8%B7%9D%E9%9B%A2120%E7%9A%84%E5%8F%83%E6%95%B8.png" border="0" /&gt; &lt;p align="center"&gt;&lt;br /&gt;&lt;a id="oyl5" title="tcl模擬程式" href="http://docs.google.com/Doc?id=dcg4t39g_38hjqng8g6" goog_docs_charindex="3015"&gt;tcl模擬程式&lt;/a&gt; &lt;/p&gt;&lt;p align="center"&gt;執行 $ns test_exposed_terminal.tcl &lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOeBV6YIYI/AAAAAAAAARk/wRmJ9KzV1tk/s1600-h/21å·è¡.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668541187367298" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOeBV6YIYI/AAAAAAAAARk/wRmJ9KzV1tk/s320/21%E5%9F%B7%E8%A1%8C.png" border="0" /&gt; &lt;/p&gt;&lt;p align="center"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;記錄檔封包&lt;br /&gt;&lt;/p&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOeBl6YIZI/AAAAAAAAARs/OQXBhBEeh7U/s1600-h/22+sd1+1688.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668545482334610" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOeBl6YIZI/AAAAAAAAARs/OQXBhBEeh7U/s320/22+sd1+1688.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOeBl6YIaI/AAAAAAAAAR0/qf_UCpwfD8A/s1600-h/23+sd2.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668545482334626" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOeBl6YIaI/AAAAAAAAAR0/qf_UCpwfD8A/s320/23+sd2.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOdxl6YIRI/AAAAAAAAAQs/en4IVN7Gn2s/s1600-h/24+rd1+875.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668270604427538" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOdxl6YIRI/AAAAAAAAAQs/en4IVN7Gn2s/s320/24+rd1+875.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOdxl6YISI/AAAAAAAAAQ0/823dJEhUa44/s1600-h/25+rd2+741.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668270604427554" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SBOdxl6YISI/AAAAAAAAAQ0/823dJEhUa44/s320/25+rd2+741.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;&lt;br /&gt;更改 ctsrts &lt;a href="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOdx16YITI/AAAAAAAAAQ8/RDR1Dx8he_8/s1600-h/26+ærtsctdæ.png"&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668274899394866" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SBOdx16YITI/AAAAAAAAAQ8/RDR1Dx8he_8/s320/26+%E6%9C%89rtsctd%E6%99%82.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;rd1&lt;br /&gt;&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOdyF6YIUI/AAAAAAAAARE/Q6F1apJ2Slg/s1600-h/27+rd1+1038.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668279194362178" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SBOdyF6YIUI/AAAAAAAAARE/Q6F1apJ2Slg/s320/27+rd1+1038.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;rd2&lt;br /&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOdyV6YIVI/AAAAAAAAARM/aYL1fBPOcI4/s1600-h/28++rd2+660.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5193668283489329490" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SBOdyV6YIVI/AAAAAAAAARM/aYL1fBPOcI4/s320/28++rd2+660.png" border="0" /&gt; &lt;p align="center"&gt;&lt;/a&gt;結果顯示 使用RTS/CTS不能有效解決暴露節點的問題&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6474062408973882143?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6474062408973882143/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/lab9.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6474062408973882143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6474062408973882143'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/lab9.html' title='lab9 無線網路效能分析探討(-) 隱藏節點和暴露節點問題'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_BTVHUy5toYM/SBOe4l6YIqI/AAAAAAAAAT0/5mkDf5bXx-0/s72-c/path+loss+model.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-8492021460408749839</id><published>2008-04-21T07:54:00.000-07:00</published><updated>2008-04-21T08:06:35.388-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='解決'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>又是防火牆擋PORT (IIS &amp; 防火牆)</title><content type='html'>晚上中毒後,下載小紅傘 ~最近很夯的德國免費強大防毒軟體&lt;br /&gt;繼續我的網頁製作~問題來了 ~ 居然無法連結我的IIS&lt;br /&gt;&lt;br /&gt;又來孤狗一下 ~&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/883607/zh-tw"&gt;參考&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;防火牆擋住 80 port ... 應該是說 被關掉了..&lt;br /&gt;&lt;br /&gt;解決:&lt;br /&gt;開啟 &lt;strong&gt;網路連線&lt;/strong&gt;-&gt;點擊&lt;strong&gt;區域連線&lt;/strong&gt;-&gt;點擊&lt;strong&gt;內容&lt;/strong&gt;-&gt;點擊&lt;strong&gt;進階&lt;/strong&gt;-&gt;點擊&lt;strong&gt;設定值&lt;/strong&gt;-&gt;點擊&lt;strong&gt;進階&lt;/strong&gt;-&gt;點擊&lt;strong&gt;設定值&lt;/strong&gt;-&gt;選擇標籤 &lt;strong&gt;服務&lt;/strong&gt;&lt;br /&gt;-&gt;打勾&lt;strong&gt;網頁伺服器(HTTP)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;~END~&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-8492021460408749839?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/8492021460408749839/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/port-iis.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8492021460408749839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/8492021460408749839'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/port-iis.html' title='又是防火牆擋PORT (IIS &amp; 防火牆)'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-7063438284378658191</id><published>2008-04-21T04:41:00.000-07:00</published><updated>2009-02-23T22:56:51.352-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='介紹'/><category scheme='http://www.blogger.com/atom/ns#' term='有用滴'/><title type='text'>Format My Source Code for Blogging</title><content type='html'>&lt;a href="http://formatmysourcecode.blogspot.com/2006/02/paste-your-text-here.html#links"&gt;Format My Source Code for Blogging&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-7063438284378658191?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/7063438284378658191/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/format-my-source-code-for-blogging.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7063438284378658191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/7063438284378658191'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/format-my-source-code-for-blogging.html' title='Format My Source Code for Blogging'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-3155822552387721125</id><published>2008-04-18T23:49:00.000-07:00</published><updated>2008-04-19T02:35:26.325-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='問題'/><title type='text'>編碼問題</title><content type='html'>網頁流程:&lt;br /&gt;[login.php]登入頁面--&gt;&lt;span style="color:#666666;"&gt;[check.php] 登入&lt;/span&gt; -&gt; [tpolygondemo2.php] 首頁&lt;br /&gt;_&gt;[name.php]新增會員 -&gt;&lt;span style="color:#666666;"&gt;[addmember.php] 新增會員至資料庫&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;網頁編碼皆選擇 utf-8 ,&lt;br /&gt;name.php的表單資料(變數)傳遞給在背後的addmember.php,進行insert to DB動作&lt;br /&gt;要在DB management 上看到繁體中文,需要在addmember.php裡面的資料庫連結部分加上&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mysql_query("SET NAMES 'utf8'");&lt;/span&gt;&lt;br /&gt;這是寫繁體中文進資料庫的方法&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;試著用&lt;span style="color:#ff0000;"&gt;mysql_query("SET NAMES 'big5'");&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;結果在DBM看到的是亂碼(非一堆問號,是中文字..)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以上都是網頁編碼選擇UTF-8 ,那反過來呢?&lt;br /&gt;如果網頁編碼選擇 big5&lt;br /&gt;連結資料庫時 加上&lt;span style="color:#ff0000;"&gt;mysql_query("SET NAMES 'big5'");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;沒問題 ~ 正常顯示&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;試著用&lt;span style="color:#ff0000;"&gt;mysql_query("SET NAMES 'utf8'");&lt;/span&gt;&lt;br /&gt;這裡忘記了.. 只依稀記的應該也是中文亂碼&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;目前寫進資料庫 ~ 沒問題了~ &lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5190855074236206946" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SAmfMAxiD2I/AAAAAAAAAQc/vfH6YxF36kM/s320/%E8%B3%87%E6%96%99%E5%BA%AB%E7%95%AB%E9%9D%A2.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;那讀出來呢? 問題大了 ~~~&lt;/div&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5190855503732936562" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SAmflAxiD3I/AAAAAAAAAQk/roCPziTCpS0/s320/%E8%AE%80%E5%8F%96%E8%B3%87%E6%96%99%E5%BA%AB%E8%A3%A1%E9%9D%A2%E7%9A%84%E7%B9%81%E9%AB%94%E4%B8%AD%E6%96%87%E5%AD%97%E6%A8%A3.png" border="0" /&gt;&lt;br /&gt;0~7 是 陣列資料 利用下列方式&lt;/p&gt;&lt;p&gt;&lt;span style="color:#990000;"&gt;$fields_data = mysql_fetch_row($result) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#990000;"&gt;再用 foreach($fields_data as $name =&gt; $value ) // 把每一筆直印出來&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#990000;"&gt;{echo "$name : $value&lt;br /&gt;" ; }&lt;/span&gt;&lt;/p&gt;&lt;p&gt;圖中"問號"就是繁體部分.. 現在要解決的就是中文讀取問題囉~ &lt;/p&gt;&lt;p&gt;參考  &lt;a href="http://blog.roodo.com/jaceju/archives/2019474.html"&gt;MySQL 中文編碼徹底研究&lt;/a&gt; 作者jaceju 寫的非常詳細,值得花時間去看&lt;/p&gt;&lt;p&gt;文中提到&lt;/p&gt;&lt;p&gt;&lt;span style="color:#666666;"&gt;當 MySQL 要寫入資料或讀出資料時，它無法確定這些資料的格式是不是符合使用者的要求。這時候我們就得自行指定正確的編碼，讓 MySQL 自動轉換這些資料。因此，在對 MySQL 4.1 以後的版本下達 INSERT, UPDATE 及 SELECT 指令之前，都應該要先用以下指令來指定正確的連線校對&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff6666;"&gt;SET NAMES 'utf8'&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#666666;"&gt;也就是說在 MySQL 4.1 以後，就算我們把預設字集設為 big5 或 utf8 ，事實上還是得看資料庫或資料表實際所設定的校對編碼 (除非建立時採用繼承值) 。所以 SET NAMES 只會影響 MySQL 伺服端和 PHP 程式之間的通訊編碼格式，跟預設字集沒有太大關係。&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;看樣子使用utf-8頁面編碼比起big5 會方便許多,之前寫的網頁都是用big5,趁還沒太多網頁,全部改為utf-8了&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#666666;"&gt;&lt;span style="color:#000000;"&gt;跟寫入時一樣, 讀取時 設定  &lt;/span&gt;&lt;span style="color:#cc0000;"&gt;SET NAMES 'utf8' &lt;/span&gt;&lt;span style="color:#000000;"&gt;編碼目前都沒問題了&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-3155822552387721125?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/3155822552387721125/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/blog-post_18.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3155822552387721125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/3155822552387721125'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/blog-post_18.html' title='編碼問題'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_BTVHUy5toYM/SAmfMAxiD2I/AAAAAAAAAQc/vfH6YxF36kM/s72-c/%E8%B3%87%E6%96%99%E5%BA%AB%E7%95%AB%E9%9D%A2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8001404591519749112.post-6345843166358436193</id><published>2008-04-16T09:54:00.000-07:00</published><updated>2008-04-16T12:09:18.268-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ns2'/><category scheme='http://www.blogger.com/atom/ns#' term='實驗'/><title type='text'>無線網路封包模型</title><content type='html'>實驗目的:&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;1. 介紹無線網路的封包傳輸遺失模型&lt;/div&gt;&lt;div align="left"&gt;2.了解群體廣播(multicast) and 單點廣播(unicast) 的傳輸模式對於封包傳輸遺失機率的影響&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;背景知識 :&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;封包在傳輸時, 封包遺失的原因有兩個&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;擁塞遺失(congestion loss) : 網路擁塞,queue緩衝空間不足, 而將部分封包丟棄&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;無線遺失(wireless loss) : channel 受外界影響造成訊號衰減或干擾,造成封包遺失&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="left"&gt;對於無線傳輸遺失而言,根據資料遺失的分佈現象可分成兩種&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;分散式遺失(distributed loss) :遺失分佈情形 分散且平均 常用隨機統一模型(random uniform model)表示&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;連續性遺失(burst loss) : 遺失現象以連續性居多 常用Gilbert-Elliott模型(GE model)表示&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="left"&gt;接著討論multicast 與 unicast 兩種無線傳輸模式&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;multicast : 封包遺失,Tx不會重新傳送,網路使用者所感受的傳送遺失機率(application-level packet loss rate)會與網路底層(physical-level packet loss rate)有相同的P&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;unicast : 封包遺失,Tx利用重傳機制重新傳送封包,網路使用者所感受的傳送遺失機率當然就不會與網路底成的不同了,為了避免一直重傳而造成的傳輸延遲,我們會設定最大重傳次數N&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="left"&gt;接下來要用NS2模擬的環境,因為考慮到傳輸過程會因為碰撞或是訊號不在接收範圍內等錯誤,所以作者修改了mac目錄下的wireless-phy.cc,加上了random uniform model,以期達到真實狀態,需要注意的是,如果傳輸模型屬於雙向傳輸,那麼不僅接收端要加上無線遺失模型,傳送端也要&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;實驗步驟&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;執行&lt;a href="http://docs.google.com/Doc?id=dcg4t39g_22znfbz6ff"&gt;lab5.tcl&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;(情境一)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;使用 random uniform model (Pg = 0.1 , loss_model = 0) 和multicast 傳送(comm_type = 0)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_BTVHUy5toYM/SAY8zkHF2lI/AAAAAAAAAPU/YJncDFfdbkE/s1600-h/0.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5189902477155490386" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SAY8zkHF2lI/AAAAAAAAAPU/YJncDFfdbkE/s320/0.png" border="0" /&gt;&lt;/a&gt; 執行結果:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;我們得到兩個紀錄檔&lt;br /&gt;&lt;br /&gt;傳送記錄檔(rd)&lt;br /&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5189914958330452642" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SAZIKEHF2qI/AAAAAAAAAP8/kC10DD7E5z4/s320/1sd.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;接收記錄檔(sd)&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5189914949740518034" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_BTVHUy5toYM/SAZIJkHF2pI/AAAAAAAAAP0/MIvlwyF-uQM/s320/1rd.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;由此可知封包遺失率 = (12351-11124)/12351 = 0.099&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;趨近於預設的網路底層封包遺失率0.1&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="left"&gt;這說明了當 multicast傳送時 ,網路使用者所感受的傳送遺失機率(application-level packet loss rate)會與網路底層(physical-level packet loss rate)有相同的P&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;(情境二)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;使用 random uniform model (Pg = 0.4 , loss_model = 0) 和unicast 傳送(comm_type = 1)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5189902481450457698" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SAY8z0HF2mI/AAAAAAAAAPc/BTJpWbosnAs/s320/1.png" border="0" /&gt;&lt;br /&gt;&lt;p align="center"&gt;執行結果:&lt;br /&gt;我們得到兩個紀錄檔&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;傳送記錄檔(sd) &lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;img id="BLOGGER_PHOTO_ID_5189914971215354546" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_BTVHUy5toYM/SAZIK0HF2rI/AAAAAAAAAQE/fjghv467A6w/s320/2sd.png" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;接收記錄檔(rd)&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_BTVHUy5toYM/SAY8iUHF2iI/AAAAAAAAAO8/RQtxr6OweoI/s1600-h/sd2.png"&gt;&lt;/a&gt;&lt;img id="BLOGGER_PHOTO_ID_5189902180802746898" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SAY8iUHF2hI/AAAAAAAAAO0/gUhrHj2ms5I/s320/rd2.png" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;由此可知封包遺失率 = (12351-12061)/12351 = 0.0234&lt;br /&gt;趨近於預設的網路底層封包遺失率0.4的4次方&lt;br /&gt;&lt;br /&gt;這說明了當 multicast傳送時 ,網路使用者所感受的傳送遺失機率(application-level packet loss rate)大約為網路底層(physical-level packet loss rate)設定的遺失率的4次方&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;span style="font-size:130%;"&gt;(情境三)&lt;br /&gt;&lt;/span&gt;使用 GE model (Pgg = 0.96 , Pbb = 0.94 , Pg = 0.001 , Pb = 0.05, loss_model = 1) 和multicast 傳送(comm_type = 0)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5189902485745425010" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SAY80EHF2nI/AAAAAAAAAPk/mPXkqXYXNpA/s320/2.png" border="0" /&gt;&lt;br /&gt;&lt;p align="center"&gt;執行結果:&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;我們得到兩個紀錄檔&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;傳送記錄檔(sd) &lt;/p&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5189914979805289170" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_BTVHUy5toYM/SAZILUHF2tI/AAAAAAAAAQU/D1HjWJx6p8M/s320/3sd.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;接收記錄檔(rd)&lt;/div&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5189914975510321858" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_BTVHUy5toYM/SAZILEHF2sI/AAAAAAAAAQM/pZkFTdePlks/s320/3rd.png" border="0" /&gt;&lt;br /&gt;&lt;p align="center"&gt;由此可知封包遺失率 = (12351-12118)/12351 = 0.0188 &lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;趨近於理論值 0.01*(1-0.94) + 0.05*(1-0.96) / ( (1-0.96) + (1-0.94) ) = 0.0206&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8001404591519749112-6345843166358436193?l=netcomclarkboy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://netcomclarkboy.blogspot.com/feeds/6345843166358436193/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/blog-post_16.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6345843166358436193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8001404591519749112/posts/default/6345843166358436193'/><link rel='alternate' type='text/html' href='http://netcomclarkboy.blogspot.com/2008/04/blog-post_16.html' title='無線網路封包模型'/><author><name>clarkboy</name><uri>http://www.blogger.com/profile/09300169655030941333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_BTVHUy5toYM/SAY8zkHF2lI/AAAAAAAAAPU/YJncDFfdbkE/s72-c/0.png' height='72' width='72'/><thr:total>2</thr:total></entry></feed>
