用输入输出流实现往服务器端发送消息并接收返回的消息。
客户端 StreamTest.java:
public class StreamTest implements Controller{
public ModelAndView handleRequest(HttpServletRequest req,
HttpServletResponse res) throws Exception {
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.setRequestProperty("Content-Length",Integer.toString(data.length()));
con.setDoOutput(true); //默认是false,将 doOutput 标志设置为 true,指示应用程序要将数据写入 URL 连接。
con.setDoInput(true); //默认是true,将 doInput 标志设置为 true,指示应用程序要从 URL 连接读取数据。
con.setUseCaches(false);//如果为 true,则只要有条件就允许协议使用缓存。如果为 false,则该协议始终必须获得此对象的新副本。
con.setInstanceFollowRedirects(true);
// con.connect();
System.out.println("StreamTest...................");
OutputStream o = con.getOutputStream();
DataOutputStream d = new DataOutputStream(o);
d.write("zy".getBytes());
// d.flush();
// d.close();
// con.disconnect();
BufferedReader bf = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuffer sf = new StringBuffer();
String str;
while((str=bf.readLine())!=null)
{
sf.append(str);
}
bf.close();
d.close(); // ① 这里必须放在con.getInputStream()这句之后,否则会报socket错
con.disconnect();
System.out.println("StreamTestStr="+sf.toString());
return null;
}
}
服务器端 StreamTestServer.java
public class StreamTestServer implements Controller{
public ModelAndView handleRequest(HttpServletRequest req,
HttpServletResponse res) throws Exception {
BufferedReader bf = new BufferedReader(req.getReader());
StringBuffer sf = new StringBuffer();
String str;
while((str=bf.readLine())!=null)
{
sf.append(str);
}
bf.close();
System.out.println("StreamTestServer="+sf.toString());
if(sf.toString().equals("zy")){
res.getWriter().write("123456"); // (1)
}
return null;
}
}
输出结果为
StreamTest...................
StreamTestServer=zy
StreamTestStr=123456
Server端的(1)也可以改成 return new ModelAndView("test.jsp");
jsp中是要输出的内容,不过因为客户端读到的是源文件,所以要把jsp中无用的东西去掉,只写需要传回的信息
分享到:
相关推荐
·0-------不允许继续接收数据 ·1-------不允许继续发送数据 ·2-------不允许继续发送和接收数据,均为允许则调用close () shutdown在操作成功时返回0,在出现错误时返回-1并置相应errno。 常用端口扫描技术 TCP ...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 ) 如题。 ...
这个请求被运行在Web服务器上的Servlet引擎处理,并返回响应到Servlet。Servlet通过HTTP将这个响应转发到客户端。 在功能上,Servlet与CGI、NSAPI有点类似,但是,与他们不同的是:Servlet具有平台无关性。 Java...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
GetOutputStream方法得到一个输出流,客户端Socket对象上的getOutputStream方法返回的输出流就是将要发送到服务器端的数据流,(其实是一个缓冲区,暂时存储将要发送过去的数据)。 多播通信是一类特殊的IP地址(D类...
内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 PlayerDrectShow...
21.4.4 剪子-包袱-锤游戏的服务器端 403 21.4.5 剪子-包袱-锤游戏的客户端 405 21.5 客户机相互通信 407 21.5.1 聊天程序服务器端 408 21.5.2 聊天程序客户端 411 21.5.3 操作URL 412 21.6 Applet ...
一旦连接请求成功,客户 端将信息及请求通过本方socket的输出流发送给服务器端相应的socket,服务端则通过 服务器端Socket的输入流接受客户端传输过来的信息及请求,分析是何请求,然后根据 请求类型,进行相应的...
内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 PlayerDrectShow...
内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 PlayerDrectShow...
内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 PlayerDrectShow...
内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库。 sdk(界面库) RINGSDK包含界面库和图象库。 绘MFC基本控件 PlayerDrectShow...