2012-06-13 180 views
-1

我需要在Android平臺上開發一個應用程序,使客戶端能夠向服務器傳遞/請求命令並使服務器能夠響應客戶端的請求。Netty集成的Android客戶端 - 服務器應用程序

我閱讀了關於Netty的內容,我想將它實現到我的項目中,但我對套接字編程還不熟悉,因爲它是用Java編寫的,所以我認爲在Android中實現它並不困難。我在網上尋找示例,但我迷失在尋找Android的好例子。

在這裏有人可以給我例子/開始或告訴我如何實現這些功能,我的應用程序?

+0

你確定Netty能在Android上運行嗎?你確定這不是矯枉過正? – Christine

+0

啊是的,我看到了Netty在Android上的論壇,我只是不知道從哪裏開始以及如何開始 – agony

回答

3

Netty支持NIO和OIO,但Android已經破壞了對NIO的支持,因此您只能使用OIO(阻塞I/O)傳輸。此外,Android中的SSLEngine也被打破,這意味着,您無法在Android上使用Netty實現SSL。 (或可能使用替代插座工廠?)

因此,我不會推薦使用Netty的Android設備,雖然也是如此,許多人似乎成功地在Android上使用Netty。

+0

你對android客戶端連接netty服務器有何建議? –

+1

你的意思是'Android打破了對NIO的支持'?我GOOGLE'android nio破支持',但無法找到相關信息。我將在Android上使用netty,因此我認爲首先詢問會更安全。 – songyy

+2

你是對的。阻止人們在Android中使用NIO的問題在ICS之前都已得到解決,這就是爲什麼Netty要從其下一個主要版本正式支持Android的原因:https://github.com/netty/netty/issues/2127 – trustin

0

Netty是一個異步事件驅動的網絡應用框架。 (異步I/O,Java NIO,高性能) 我認爲Netty是多客戶端連接或多服務器連接的有價值框架。

Android設備通常資源非常有限。

我會建議你在Android設備上使用java阻塞套接字。

+0

你能舉個例子嗎? – agony

0

我不會推薦在Android上使用Netty,因爲它會採用java VMist(Dalvik)無法識別的javassist類,如javassist.ClassPool類。採取一個很好的舊的Java套接字,並圍繞一個漂亮的助手類,它應該這樣做。

相關問題