i have one socket. my socket is having one inputstream(in) and one outputstream(out). suppose my inputstream is waiting like in.readline() //waits here ..not getting the data ... waits then if i am trying to put some value to my outputstream .. like out.write("somevalue"); what will happen to the "somevalue" in my outputstream?.is the value sent??.(consider my inputstream.it's still waits for data). i tried..data not sending.socket connection is acting like a one channel canal. but i want to sent my data when inputstream waits(unavoidable).what to do??.anyone knowing? welcome to all logics & tricks. basha SCJP
it sounds like you are using the old style "blocking" IO streams. Are you using two separate threads for read/write ops? if not, then your program will "block" at the read method until it receives input - the rest of your program will not execute. to avoid this, look in to the java.nio package (java 1.4 and above). it has the capabilities for non-blocking IO. There are some great tutorials out there - i've listed a couple links below, do a google search for more. nio takes some getting used to, but it is very worthwhile to learn.