對于parseInt("01")到parseInt("07");都能得到正確的結果,但如果是parseInt("08") 或parseInt("09")則返回0;
首先看parseInt語法:parseInt(string, radix);
其中string為要轉換的字符串,radix為二進制,八進制,十六進制或十進制。
在默認不指定radix時,當以0x開關時,為十六進制;如果以0開關且第二位不為x,則讓為是八進制,(因為八進制不能有8,9所以報錯返回0)。
所以,在我們用時還是明確指定進位制,以防出錯。
如我們平時都用十進制位,我們就 parseInt("08", 10);
摘要: vsftpd 有關錯誤 500 OOPS: vsftpd: refusing to run with writable anonymous root
閱讀全文
摘要: Linux下application中文顯示為方塊問題的解決
閱讀全文
摘要: jquery css hover
閱讀全文
DWR 2.0.5,
方法使用對象參數時報錯如下:
Erroring: batchId[0] message[org.directwebremoting.extend.MarshallException: Error marshalling test.User:
一個最可能的原因是 User沒有一個無參的construction。
暈。。。
朋友們注意呀!
對于以太網環境下UDP傳輸中的數據包長度問題
首先要看TCP/IP協議,涉及到四層:鏈路層,網絡層,傳輸層,應用層。
其中以太網(Ethernet)的數據幀在鏈路層
IP包在網絡層
TCP或UDP包在傳輸層
TCP或UDP中的數據(Data)在應用層
它們的關系是 數據幀{IP包{TCP或UDP包{Data}}}
在應用程序中我們用到的Data的長度最大是多少,直接取決于底層的限制。
我們從下到上分析一下:
在鏈路層,由以太網的物理特性決定了數據幀的長度為(46+18)-(1500+18),其中的18是數據幀的頭和尾,也就是說數據幀的內容最大為1500,即MTU(Maximum Transmission Unit)為1500;
在網絡層,因為IP包的首部要占用20字節,所以這的MTU為1500-20=1480;
在傳輸層,對于UDP包的首部要占用8字節,所以這的MTU為1480-8=1472;
所以,在應用層,你的Data最大長度為1472。
(當我們的UDP包中的數據多于MTU(1472)時,發送方的IP層需要分片fragmentation進行傳輸,而在接收方IP層則需要進行數據報重組,由于UDP是不可靠的傳輸協議,如果分片丟失導致重組失敗,將導致UDP數據包被丟棄)。
從上面的分析來看,在普通的局域網環境下,UDP的數據最大為1472字節最好(避免分片重組)。
但在網絡編程中,Internet中的路由器可能有設置成不同的值(小于默認值),Internet上的標準MTU值為576,所以Internet的UDP編程時數據長度最好在576-20-8=548字節以內。
MTU對我們的UDP編程很重要,那如何查看路由的MTU值呢?
對于windows OS: ping -f -l <data_length> <gateway_IP>
如:ping -f -l 1472 192.168.0.1
如果提示:Packets needs to be fragmented but DF set.
則表明MTU小于1500,不斷改小data_length值,可以最終測算出gateway的MTU值;
對于linux OS: ping -c <number> -M do -s <data_length> <gateway_IP>
如: ping -c 1 -M do -s 1472 192.168.0.1
如果提示 Frag needed and DF set……
則表明MTU小于1500,可以再測以推算gateway的MTU。
當然要修改MTU的值,那就是網管的事了(一般人沒這權限呀),我們只能申請加等待了 ^-^ .
從JDK5開始就已經增加了對VM的監控功能jconsole,JDK1.6也有了進一步的改進。
然而對linux特別是Ubuntu用戶來說,會碰到一些小問題。
在終端進入java_home/bin目錄下,
# jconsole
結果報錯如下:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
原因就是在ubuntu下用java寫Swing應用程序時不能使用SystemLookAndFeel。
實際上出現這個問題是因為swing的默認laf采用systemlaf,而Ubuntu里卻沒有定義這個laf。
一種很方便的解決方法就是把語言環境改成英文:
# export LANG=en
但對中文用戶很不方便(盡管swing程序可以運行)。
另一種方法就是程序啟動時加上jvm運行時參數,比如 運行jconsole :
# jconsole -J-Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel
另外,jconsole對于hostname也有要求,如果執行:
# hostname -i
顯時 127.0.0.1,則需要在 /etc/hosts中把127.0.0.1改成機器的外網IP。
這下,我們就又多了一個jvm分析的利器。
Kraken plugin as IM gateway is developed separately from openfire.
It is built alongside openfire.
Kraken build Detail:http://kraken.blathersource.org/node/9
But I still encountered this problem when I did that.
When I run the step:ant release,I found the following error,although BUILD SUCCESS,
Error:
[jasper2] 409 DEBUG No Java compiler available
[jasper2] java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/env/INameEnvironment
NoClassDefFound,obviously,there is no class named 'INameEnvironment',
I run 'find ./ -name jdt*' ,there is nothing really.
I know that it need a jar named 'jdt-compiler' via google,so I download it.
If you can find it to download you can come the following site:
http://fisheye1.atlassian.com/viewrep/springframework/spring/lib/jdt or
http://softwarelivre.sapo.pt/projects/ptpos/browser/openbravopos/trunk/build/zip/lib/jdt-compiler-3.1.1.jar?rev=35
I get jdt-compiler-3.1.1.jar from the site mentioned above,and put it into the java lib directory;
then,add a line :<pathelement location="${java.home}/../lib/jdt-compiler-3.1.1.jar"/> in classpath of taskdef named 'jasper2' in the build.xml of Openfire
So far so good ,I have fixed it.
PEM : Privacy Enhanced Mail 隱私增強郵件
是使用多種加密方式提供機密性、認證、信息完整性的因特網電子郵件,在因特網中沒有被廣泛配置;
而現在更多的是用作密鑰格式,并且可包含私鑰(RSA和DSA)、公鑰(RSA和DSA)、X509證書,它存儲ASCII包裝的BASE64編碼的DER數據,適用于系統之間的文本模式傳輸。
DER : Distinguished Encoding Rules 分布式編碼規則
也可包含私鑰、公鑰和證書,它是大多數瀏覽器的默認證書格式,并且按ASN 1 DER 格式存儲進行存儲。(它沒有頭部-PEM是有文本頭部包裝的DER)。
VoIP : Voice over Internet Protocol 網絡語音傳輸
SIP : Session Initiation Protocol 會話發起協議
經過漫長的配置,終于搞定了windows AD、domain和Exchange2007,
新建了帳戶后,用戶 fingki 密碼 ************** 郵件 fingki@mydomain.com 在另一臺win xp上測試。
這里要注意DNS的配置,且要打開服務 services,確定pop3等郵件服務都已經啟動。
首先加入該域 mydomain.com
然后 重啟,用fingki登錄該域,一切還算順利。
再 測試郵件收發,啟動Outlook,用fingki@mydomain.com新建一outlook帳戶,郵件服務器用戶名 fingki密碼************;其他的是默認配置。
測試給administrator@mydomain.com發一封郵件,正常,然后再給自己發一封;
接收郵件時,提示:由于服務器拒絕接受發件人的電子郵件地址,這封郵件無法發送。...服務器響應: '530 5.7.1 Client was not authenticated', 端口: 25, 安全(SSL): 否, 服務器錯誤: 530, 錯誤號: 0x800CCC78.
奇怪。
后來發現,原來exchange2007默認是采用ssl安全傳輸的,需要對 pop3設置安全連接,端口會默認變為995。(即選中:“此服務器要求安全連接SSL”)。
按上面要求 設置pop3為SSL連接。接收郵件就正常了。
(網上也有朋友說是DNS的MX記錄丟失,但顯然我的不屬于這種情況)。
另外,很有意思的是如果你為Exchange用戶設定多個電子郵件地址(當然只會有一個為默認郵件地址,或叫主地址),當有人給你向這多個地址中發送郵件時,這些郵件都會發到你的主地址郵箱中。