如何处理TCP数据?

时间:2013-07-27 11:59:55

标签: android

我正在做一个不断从TCP套接字接收数据的项目。 我需要将该数据传递给另一个活动,以便我可以执行我的操作。 每次意图传递都无用时传递数据。 我们可以使用计时器但它们可能会丢失一些数据。 我需要一些过程,它应该在收到的时刻不断地通过数据。 请告诉我在这种情况下哪个是处理TCP数据的最佳过程。 如果你举个例子我感激不尽。

这是我的TCP连接和接收代码

Sockets = new Socket("My IP",Port);
while (s.isConnected()) {
in = new BufferedReader(
new InputStreamReader(s.getInputStream()));
int nRead;
char[] data = new char[1024 + 1024];        
String decoded = "";                    
while ((nRead = in.read(data, 0, data.length)) != -1) {
decoded = new String(data, 0, nRead); **// This decoded data need to pass to another activity.**
}

2 个答案:

答案 0 :(得分:0)

您可以使用Handler定位到Looper.getMainLooper()来有效地,重复地从后台线程将数据发布到UI线程。

Android培训页面的Communicating with the UI Thread部分介绍了如何使用Handler。我前段时间还写过关于Loopers的a blog post,它揭示了一些关于它们是如何工作的。

答案 1 :(得分:0)