客户端 - 服务器套接字通信

时间:2012-11-13 21:32:09

标签: android sockets stream

问题

如果我只能在客户端上使用,如何在服务器和客户端之间发送 UTF-8 数据

inputStream.read()

文档

  

从此流中读取单个字节并将其作为整数返回   范围从0到255.如果流的末尾已经返回-1   达到。

没有reader.readLine()和任何其他。 (随着读者我看不到流的结束)

请帮忙!

(完整代码:)

int c;
String str = new String();
while ((c = inputStream.read( )) != -1)
{
    char ch = (char)c;
    if(ch == '\n')
    {
        Log.v("", str);
        final String data = str;

        runOnUiThread(new Runnable()
        {
            @Override
            public void run()
            {
                String put[] = data.split("#");
                try
                {
                    //cmd parsing
                }
                catch(Exception e)
                {
                    //stop connection
                }
            }
        });
        str = "";
    }else{
        str += Character.toString(ch);
    }
}
//Communication error

请帮助

1 个答案:

答案 0 :(得分:0)

您可能需要查看this上一篇文章。那里有几个很好的选择。 read()方法可以使用不同的参数重载,因此您可以读取一个字节或 n 字节。查看完整的文档here。基本上,您必须读取原始字节,然后将它们转换为ASCII字符。另外,我很好奇为什么你不能使用BufferedReader或同等的类?