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();可响应一次,之后就没响应了,是什么原因呢? --------------------编程问答--------------------
while(br.readLine()!=null)
{
System.out.println(br.readLine());
}
你输出的是第二行了(因为执行了两次br.readLine())
应该是:
--------------------编程问答-------------------- 改了之后还是只创建了Socke读不出br.readLine(); --------------------编程问答-------------------- os.flush();
String line = null;
while((line = br.readLine())!=null)
{
System.out.println(line);
}
os.close();
打印下s.getInputStream()是否有值
--------------------编程问答-------------------- 因为你请求是stream,服务器端也要用stream读取,别用reader --------------------编程问答-------------------- 可以提供具体一点的代码吗,先谢谢了
补充:Java , Java EE