http://wenwen.soso.com/z/q181805845.htm
做的一个简单程序,发现一个怪异的现象!!!程序描述如下:
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异常,而且收不到任何信息!!!!
请问这个是什么情况啊!!!!!!!