tcp 통신으로 지속적으로 주고받고를 하고 싶은데요
public void run()
{
byte[] bytes = null;
try {
System.out.println("Server: Waiting..");
ServerSocket AndroidserverSocket = new ServerSocket(ServerPort);
java.net.Socket client = AndroidserverSocket.accept();
System.out.println("Server: Receiving...");
BufferedWriter ScreenWriter = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); // bytearray 로 변환한 데이터 전송
BufferedReader PositionReader = new BufferedReader(new InputStreamReader(client.getInputStream())); // 좌표 입력값 받아오기.
byte[] Picture = null;
byte[] Position = new byte[8];
while (true) {
if(imagestream.ImageSize == 0)
{
bytes = imagestream.takeScreenshot();
}
try {
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(client.getOutputStream())),true);
} catch (Exception e) {
System.out.println("Server : Error");
e.printStackTrace();
}
PositionReader.read <- recv처럼 기다려지나요???????????
}
} catch (Exception e) {
System.out.println("Server: Error");
e.printStackTrace();
}
}
이런식으로 Reader.read로 계속 받고 싶은데(보내는 건 터치 시 override로...)
Buffered reader, writer를 이해를 잘 못하고 있는 것 같아서요
소켓통신에서 이걸 사용할 때 (byte[]로 통신하고 싶어서.. 이렇게 하려고 하는데...)
만약 무한 루프에서 Reader.read()하면
다른 쪽에서 write를 할때까지 기다려주나요??????
recv() 함수처럼요
만약에 기다리는게 아니라면 기다리고 싶으면 어떻게 해야할까요??