2007年5月4日星期五

socket编程需要注意的地方

如果关闭通过Socket获取的输入或者输出流,Socket也会被关闭,若此时继续调用Socket将会抛出异常。所以在读取流或者写入流后仍然需要操作此socket,则不应立即关闭流。而这样做也会带来一些问题,比如一方正在向流写入数据,而另一方则从流中读取数据,但是由于写完后不能关闭,所以读取数据的一方就无法通过流是否完毕来判断是否需要继续读取,因此写流的一方就必须在将相应的内容写完后,写入一个约定好的结束符,来表示流已经写入完毕,读取的一方则根据此结束符来做判断。