C# 通过tcp接收多个图像
这段代码通过tcp从c#服务器接收多个图像(视频)。工作正常。但速度非常慢,而且缺少帧是他们加快速度(消除延迟)的任何方法,比如不关闭套接字,或者不使用数据输入流C# 通过tcp接收多个图像,c#,android,C#,Android,这段代码通过tcp从c#服务器接收多个图像(视频)。工作正常。但速度非常慢,而且缺少帧是他们加快速度(消除延迟)的任何方法,比如不关闭套接字,或者不使用数据输入流 private Runnable connectSocket=new Runnable() { @Override public void run() { { try {
private Runnable connectSocket=new Runnable() {
@Override
public void run() {
{
try {
socket = new Socket(serverAddr, 4444);
DataInputStream dis;
try {
dis=new DataInputStream(socket.getInputStream());
int bytesRead;
byte[] pic = new byte[5000*1024];
bytesRead = dis.read(pic, 0, pic.length);
bitmapimage = BitmapFactory.decodeByteArray(pic, 0, bytesRead);
} catch(Exception e) {
Log.e("TCP", "S: Error", e);
} finally {
socket.close();
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
Log.e("TCP", "C: UnknownHostException", e);
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("TCP", "C: IOException", e);
e.printStackTrace();
}
imgview.setImageBitmap(bitmapimage);
imgview.invalidate();
}
mHandler.postDelayed(this, 0);
}
};
}
一幅一幅地发送图像不是一种很好的方式。考虑使用压缩视频格式。
而且你也不能真的快。这完全取决于2G中的网络设备总是比wifi/3G慢。我只是不想重新打开和关闭插座。这可能吗?