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

baidu_36150288 baidu_36150288 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


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();

}
});
}

}

...全文
评论
收藏 已收藏
分享
返回顶部
baidu_36150288
Android 80,490 成员 91,375 内容