小叶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 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题