http://wenwen.soso.com/z/q181805845.htm

zhf198909 2010-02-26 09:58:27
做的一个简单程序,发现一个怪异的现象!!!程序描述如下:

j2me端发送账号与密码,servelt负责接收处理,若果账号密码相同则返回登陆成功消息,否则登陆失败,j2me端消息接收

j2me端:public void run() {
//String url="http://localhost:8080/HttpServer/ServerServlet?acc="+account+"&pass="+password+"";
String url="http://localhost:8080/HttpServer/ServerServlet";
try{
hc=(HttpConnection)Connector.open(url);
hc.setRequestMethod(HttpConnection.POST);
dos=hc.openDataOutputStream();
dos.writeUTF(account);
dos.writeUTF(password);
dos.flush();
dos.close();

dis=hc.openDataInputStream();
//方法一
/*byte[] bytes=new byte[(int)hc.getLength()];
dis.read(bytes);
String str=new String(bytes,"UTF-8");*/


//方法二

String str=dis.readUTF();
if(str!=null)
lf.append(str);
dis.close();

}
catch(Exception ex){
ex.printStackTrace();
}
}


servlet端: response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
DataInputStream dis=new DataInputStream(request.getInputStream());

String acc=dis.readUTF();
String pass=dis.readUTF();
if(acc.equals(pass)){
out.print("登陆成功");
}
else{
out.print("登陆失败");
}
}
catch(Exception ex){
ex.printStackTrace();
}
finally {
out.close();
}


问题是这样:若果采用方法一,消息接收没有问题的,只是服务端抛出java.io.EOFException异常,客户端没有异常,消息接收正确!!
但如果采用方法二,客户端与服务端都有java.io.EOFException异常,而且收不到任何信息!!!!

请问这个是什么情况啊!!!!!!!

...全文
1285 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2010-02-26 09:58
社区公告
暂无公告