1
我有一個用java編寫的程序,它充當一種服務器。我需要通過Tcp套接字將對象發送到手機。如何通過tcp套接字將對象發送至android設備?
在此之前,我剛剛通過PrintWriter
和DataInputStream
來傳遞字符串數據。我打算嘗試ObjectInputStream
,但是我聽說由於java版本不同等原因,這可能會失敗。我的對象是可以serilizable的。
我有一個用java編寫的程序,它充當一種服務器。我需要通過Tcp套接字將對象發送到手機。如何通過tcp套接字將對象發送至android設備?
在此之前,我剛剛通過PrintWriter
和DataInputStream
來傳遞字符串數據。我打算嘗試ObjectInputStream
,但是我聽說由於java版本不同等原因,這可能會失敗。我的對象是可以serilizable的。
您可以使用JSON序列化程序(如這一個here)將對象轉換爲非常可讀的字符串,只需使用正常的PrintWriter系統即可。您只需將該字符串寫入流中,然後在另一端恢復它。簡單。
而這一切都發送作爲一個單一的線?有沒有什麼像每行的套接字字符串大小限制,我應該知道哪些可能會使事情複雜化?我從來沒有在使用過JSON之前, –
JSON只是一種序列化 - 它非常受歡迎。它不包含使其成爲受歡迎的候選者的Java版本元數據。你也可以看protobufs。 有一個數據包的MTU限制,並且存在數據包可分片的可能性,但是您應該在代碼中處理這個問題,因爲TCP是一個流協議。如果您需要更多信息,請告訴我。 –
好吧,考慮沒有研究我不知道原始援助者,MTU限制我會說鉤我。這應該適用於將ArrayList作爲對象發送正確嗎?最後,你的意思是說,我不需要擔心片段或大小限制,因爲TCP的流協議本質上是要處理那些?謝謝 –