Android打开客户端套接字但不能继续

时间:2013-04-30 11:44:38

标签: android sockets

我对Android客户端套接字

有疑问

我的目标服务器不会每秒发送一次消息,但是当事情发生时

服务器会将一些字符串推送到我的Android手机

服务器正常运行,因为我的iOS应用程序正常运行

但在android中,我只收到消息 - 200 OK

但以下信息不会出现

即使服务器已经推送了一些字符串

这是我打开套接字的代码

public void _openSocket() throws UnknownHostException, IOException{
    StringBuilder sb = new StringBuilder();
    String Stream = "GET /audio.event HTTP/1.1\r\n";
    String Stream2 = "Host: 192.168.30.1\r\n";
    String Stream3 = "\r\n";
    sb.append(Stream);
    sb.append(Stream2);
    sb.append(Stream3);

    Log.i("ray", "Connecting Socket...");
    Socket socket = new Socket("192.168.30.1",80);
    InputStream inputStream = socket.getInputStream();
    BufferedReader is = new BufferedReader(new InputStreamReader(
            inputStream));
    DataOutputStream os = null;
    os = new DataOutputStream(socket.getOutputStream());
    os.write(sb.toString().getBytes());
    String data = is.readLine();
    Log.i("data", data);
}
谁能告诉我我错过了什么?

感谢您的大力帮助!

1 个答案:

答案 0 :(得分:0)

添加第二行:

os.write(sb.toString().getBytes());
os.flush();

这将导致数据包被发送。否则,服务器将等待数据包大到足以“值得”发送