ゲームを作成するために、受信、送信(サーバー上でacceptを使用)のスレッドで通常のDataInputStreamとDataOutputStreamを使用していますが、実際には低速です。>5秒の遅れ。
これが私がそれを作った方法です(それのほとんどはそのように見えます):
(dosはDataOutputStreamです)
dos = new DataOutputStream(socket.getOutputStream());
dos.writeFloat(dp.x);
dos = new DataOutputStream(socket.getOutputStream());
dos.writeFloat(dp.y);
dos = new DataOutputStream(socket.getOutputStream());
dos.writeUTF(dp.username);
そして入力(これはサーバーにあります)には以下を使用します:
(disはDataInputStreamであり、forループ内にあるため、各プレーヤー用です)
dis = new DataInputStream(list_sockets.get(i).getInputStream());
x = dis.readFloat();
dis = new DataInputStream(list_sockets.get(i).getInputStream());
y = dis.readFloat();
dis = new DataInputStream(list_sockets.get(i).getInputStream());
username = dis.readUTF();
とても遅いですが、理由はわかりません:(助けてください?
編集:すべての操作(送信、受け入れ、受信)には独自のデーモンスレッドがあります。