我试图让每次发送更快的套接字客户端发送RGB颜色,更快的呼叫应该是每秒1到10次。
我正在使用此代码:
try {
socket = new Socket("192.168.0.9",1234);
try {
dataOutputStream = new DataOutputStream(socket.getOutputStream());
//toServer = new BufferedWriter(new PrintWriter(socket.getOutputStream(),true));
//out = new PrintWriter(new BufferedWriter(
// new OutputStreamWriter(socket.getOutputStream())), false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (UnknownHostException e1) {
Log.e("Error", "Error");
e1.printStackTrace();
} catch (IOException e1) {
Log.e("Error", "Error");
e1.printStackTrace();
}
每次我从选择器改变颜色时,我都会调用这个方法
dataOutputStream.writeUTF(";"+red+";"+green+";"+blue+";"+brightness+";");
我在python中尝试过一个脚本,在2秒内完成100次,我没有任何滞后。 我得到的是,python服务器正在等待新的请求,但Android需要时间通过套接字连接发送它们。 我实际上尝试了3种不同的方法来实例化输出写入,但只有DataOutputStream才足够快但仍有一些滞后。
解决此问题的最佳方法是什么?
答案 0 :(得分:0)
在DataOutputStream和套接字之间放置一个BufferedOutputStream,并在每个writeUTF()之后刷新DOS。在对等体上,在BufferedInputStream上使用DataInputStream。