小叶525 2015-08-31 10:40 采纳率: 0%
浏览 2410

关于socket编程 客户端不能接受服务端信息问题

private void send() {
try {
tvGetContent.append("我说:" + etSendContent.getText().toString()
+ "\n");
writer.write(etSendContent.getText().toString() + "\n");
writer.flush();
etSendContent.setText("");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

private void connect() {

    new AsyncTask<Void, String, Void>() {

        @Override
        protected Void doInBackground(Void... params) {
            String line;
            try {
                socket = new Socket(etSendIp.getText().toString(), 12345);

                writer = new BufferedWriter(new OutputStreamWriter(
                        socket.getOutputStream()));
                reader = new BufferedReader(new InputStreamReader(
                        socket.getInputStream()));
                publishProgress("success");

                while ((line = reader.readLine()) != null) {
                    publishProgress(line);
                }
                reader.close();

            } catch (UnknownHostException e) {
                Toast.makeText(MainActivity.this, "无法建立链接",
                        Toast.LENGTH_SHORT).show();
            } catch (IOException e) {
                Toast.makeText(MainActivity.this, "无法建立链接",
                        Toast.LENGTH_SHORT).show();
            }
            return null;

        }

        @Override
        protected void onProgressUpdate(String... values) {

            if (values[0] == "success") {
                Toast.makeText(MainActivity.this, "链接建立成功",
                        Toast.LENGTH_SHORT).show();
            }
            tvGetContent.append("别人说:" + values[0] + "\n");
            super.onProgressUpdate(values);
        }

    }.execute();

}
主要问题是;客户端与客户端不能通讯,客户端发送消息到服务器,服务器是能结束消息的,同时服务器也能正确的发送消息出来,但是客户端却接收不到消息。当手动关闭服务器的时候,客户端则会一次性把前面发送的消息全部接收到。
这是我客户端发送消息和接受消息的代码  服务器短的代码应该没有问题,求各位大神指点一下
  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2015-08-31 15:31
    关注

    服务器端收到请求后立即回复“success”了吗?断点调试下客户端的代码走到哪一步了?是不是读取回复代码有问题呢。

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题