기본 콘텐츠로 건너뛰기

Java Scanner & PrintWriter & InputStream & OutputStream

When using both PrintWriter & Scanner, and InputStream & OutputStream on the same socket, odd thing happens.
When call InputStream.read() after call Scanner.nextLong(), InputStream.read() can't receive data exactly. It seems Scanner caches the input.
The solution is send and receive something before call InputStream.read(). Sequence is important like send/receive/send/receive, not like send/send/receive/receive

for client:
    Scanner.nextLong()
    PrintWirter.println()
    InputStream.read()


for server
  PrintWriter.println()
  Scanner.nextLine()
  OutputStream.write()



댓글

이 블로그의 인기 게시물

Picasso vs Glide in Android

I started a new project with Picasso first, but had a problem with the orientation of photos. Picasso didn't display a photo properly according to it's orientation. So I changed to Glide which solve the problem. Use 'Glide' if you want to be safe about photo's orientation,