Re: please help to debug error
darker side wrote:
Nearly universal convention in Java is to name classes with an initial
upper-case letter.
<http://java.sun.com/docs/codeconv/index.html>
{
public static void main(String args[]) throws IOException
{
Socket cli=new Socket(InetAddress.getByName("localhost"),1233);
System.out.println("connected by client");
DataInputStream dis=new DataInputStream(System.in);
DataOutputStream dos=new
DataOutputStream(cli.getOutputStream());
String inp=dis.readLine();
Are you familiar with the API docs?
<http://java.sun.com/javase/6/docs/api/java/io/DataInputStream.html#readLine()>
Did you notice the boldface warning?
dis.close();
dos.close();
}
}
Joshua Cranmer wrote:
What do you think this method is doing? Look at it carefully, since
there is something that most people would logically expect it to do but
it doesn't do...
Hint: dos.something()?
Joshua Cranmer wrote:
In addition, you should explicitly close the Socket when you are
finished using it.
darker side wrote:
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.<init>(String.java:141)
Joshua Cranmer wrote:
There is only one reason why the constructor of String would throw a
NullPointerException: the String being passed in is null. Now, ask
yourself why the input from the socket is null (hint: look at your
client class. What isn't it doing?).
....
Some other points-of-order:
@ Don't use tab's in Usenet posts. It screws up formatting.
@ Use proper English grammar, including capitalization and punctuation.
@ It generally helps to go through the Java APIs if you need help.
I was echoing Joshua's point, specifically about the readLine() method. The
general URL for the API docs is
<http://java.sun.com/javase/6/docs/api/>
--
Lew