如题,我用下面的代码可以实现往服务器端传递数据,URL url = new URL("http://localhost:8088/Test/streamtestserver.do");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/stream");
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setInstanceFollowRedirects(true);
con.connect();
DataOutputStream d = new DataOutputStream(con.getOutputStream());
d.write("111".getBytes());
d.flush();
d.close(); 但是我把con.connect();注掉后仍可以实现,所以不知道con.connect();的用处和在,是不是只要
url.openConnection();后就已经建立连接了?
还有一个问题就是我把d.flush()和d.close()方法去掉后仍可以向服务器端输出数据,那d.flush()的用处是什么?
我对文件操作时必须要写d.flush(),但这个却不用写,不解,不知道是不是原理没搞清。
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/stream");
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setInstanceFollowRedirects(true);
con.connect();
DataOutputStream d = new DataOutputStream(con.getOutputStream());
d.write("111".getBytes());
d.flush();
d.close(); 但是我把con.connect();注掉后仍可以实现,所以不知道con.connect();的用处和在,是不是只要
url.openConnection();后就已经建立连接了?
还有一个问题就是我把d.flush()和d.close()方法去掉后仍可以向服务器端输出数据,那d.flush()的用处是什么?
我对文件操作时必须要写d.flush(),但这个却不用写,不解,不知道是不是原理没搞清。
解决方案 »
- JWebBrowser 打包后不显示地图
- 小弟求解!
- Java Socket 连接超时问题
- 关于Random的构造器Random(long seed)的一些思考
- [200分]为什么java.util.Date类型的值,打出来的总是Tue Oct 10 20:22:10 CST 2006
- jbuilder的调试问题。用了断点进行调试,但是Add Watch 是灰色的不可用,请问怎么做?
- No suitable driver是怎么回事?用了很多种方法都不行
- 请问,JBuilder下添加的组件为何总是变得很大?
- 我装了jbuild6.4版本,但是有sn,不知道为什么注不了册!为什么呢?有办法吗?
- 高分!关于JBuilder
- 求一个算法
- 按标签读取文本信息
你通过connect()方法就是进行连接,可是首先要判断connected连接标示是否已经连接上,如果已经连接上,则该方法调不调都没有用,如果没有连接上,调用connect方法,会主动尝试连接。该方法一般使用好像是HttpURLConnection conn=new HttpURLConnection(new URL("xxx"));这样构造的conn。因为这时是处于没有连接的状态。
---》还有一个问题就是我把d.flush()和d.close()方法去掉后仍可以向服务器端输出数据,那d.flush()的用处是什么?
已经关闭了还发送?有点扯了吧。
我没有说关闭了可以发送啊,我是说把d.flush()和d.close()方法注掉。我的意思是一般不都是调用flush()后才把数据往输出流中发送么?我没有写这句话应该不会发送吧。
没有看清问题,我是说我不close,为什么可以发,按说不flush就无法把数据传送出去啊。