私は初心者なので、ばかげた質問をしたらごめんなさい。
サーバーとのソケット接続を行う必要があります。
クライアント(Androidデバイス)はサーバーにメッセージを送信し、ackメッセージを待つ必要があります。次に、サーバーは、クライアントから30秒間何も受信しない場合、ackメッセージの要求を送信します。
私がやったことは最初の部分です。クライアントがメッセージを送信し、応答を読み取ります。
私が尋ねるのは、クライアントはサーバーからのメッセージの可能性をどのように待つことができるかということです。
これは私が書いたコードです:
onCreateメソッドで:
Thread myThread = new Thread(new myRunnable());
myThread.start();
そしてこれはmyRunnableです:
public class myRunnable implements Runnable{
public void run(){
try{
Socket socket = new Socket(serverIp, serverPort);
InputStream is = socket.getInputStream();
OutputStream out = socket.getOutputStream();
out.write(byteBuffer.array());
out.flush();
byte[] bbb = new byte[1024];
// Receive message from server
int bytesToRead= is.read(bbb);
is.close();
out.close();
socket.close();
連続した読み取り操作は-1を返しますが、サーバーメッセージを待機し続けるにはどうすればよいですか?
アドバイスありがとうございます。