用httpurlconnection时当要outputstream时中断连接,这是为什么

baidu_36150288 2017-03-23 12:42:09


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input=(EditText)this.findViewById(R.id.input);
output=(TextView)this.findViewById(R.id.output);
send=(Button) this.findViewById(R.id.send);

send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

final String Output=input.getText().toString().trim();
new Thread(new Runnable() {
@Override
public void run() {
String path="http://192.168.11.254:8080";

try {
URL url=new URL(path);
//打开http连接
HttpURLConnection conn= (HttpURLConnection) url.openConnection();

conn.setDoInput(true);
conn.setDoOutput(false);
conn.setRequestMethod("POST");
// conn.setRequestMethod("GET");
conn.setConnectTimeout(1000*30);//连接超时时间
conn.setReadTimeout(1000*30);//读取数据的超时时间
conn.setUseCaches(false);
// conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
// conn.setRequestProperty("Charset", "UTF-8");
// conn.setRequestProperty("Content-type", "application/x-java-serialized-object");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.connect();
//对服务器端读取或写入数据
OutputStream outStrm=conn.getOutputStream();
//获取响应数据
ObjectOutputStream outputStream=new ObjectOutputStream(outStrm);
outputStream.writeObject(Output);
int code=conn.getResponseCode();
String sCurrentLine="";
String sTotalString="";
if(code==200){
InputStream os=conn.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(os));
while((sCurrentLine=reader.readLine())!=null){
if(sCurrentLine.length()>0){
sTotalString=sTotalString+sCurrentLine.trim();

}
}
final String finalLine = sTotalString;
runOnUiThread(new Runnable() {
@Override
public void run() {
output.setText("内容:"+ finalLine);
Toast.makeText(MainActivity.this,"try!!!",Toast.LENGTH_SHORT).show();
}
});
}else{
Toast.makeText(MainActivity.this,"fail!",Toast.LENGTH_LONG).show();
}

//System.out.println("result"+result);
conn.disconnect();//关闭连接

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}


}
}).start();

}
});
}

}

...全文
182 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧