当前位置:编程学习 > JAVA >>

Socket的getOutputStream发送不出去

本人在Android模拟器上写了一个易做图,触发是通过Socket发送一个字符串,代码如下
public void onClick(View v) 
{
  try{

      Socket s=new Socket("192.168.137.49",37000);
      System.out.println("Socket创建成功");
      Log.v("BIN",bin.getText().toString());
      Log.v("END",end.getText().toString());
      OutputStream os=s.getOutputStream();
      os.write(("11"+"/r/n").getBytes("utf-8"));
      os.flush();
      System.out.println("发送信息 第n次");
   }catch( Exception e)
  {
   e.printStackTrace();
   System.out.println("接受不成功");
  }
}
在LogCat中看到 “发送信息 第n次” 
服务端代码
   public class SimpleServer {
 public  static void  main(String[]args)throws Exception
   {
    ServerSocket ss=new ServerSocket(37000);
    while(true)
     {
Socket s=ss.accept();
System.out.println("接收到socket");
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream(),"utf-8"));
        while(br.readLine()!=null)
         {System.out.println(br.readLine());}
      }
   }

}
在控制台可以看到"接收到socket";
但是就是读不出内容,求各位帮忙
socket android --------------------编程问答-------------------- 更新:在 os.flush();后加os.close();可响应一次,之后就没响应了,是什么原因呢?  --------------------编程问答--------------------
引用 楼主 luckyagain 的回复:
本人在Android模拟器上写了一个易做图,触发是通过Socket发送一个字符串,代码如下
public void onClick(View v) 
{
  try{

      Socket s=new Socket("192.168.137.49",37000);
      System.out.println("Socket创建成功");
    ……



        while(br.readLine()!=null)
         {
           System.out.println(br.readLine());
         }

你输出的是第二行了(因为执行了两次br.readLine())
应该是:

String line = null;
while((line = br.readLine())!=null)
         {
           System.out.println(line);
         }
--------------------编程问答-------------------- 改了之后还是只创建了Socke读不出br.readLine(); --------------------编程问答-------------------- os.flush();
os.close();

打印下s.getInputStream()是否有值

--------------------编程问答-------------------- 因为你请求是stream,服务器端也要用stream读取,别用reader --------------------编程问答-------------------- 可以提供具体一点的代码吗,先谢谢了
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,