作者sean2449 (肉鬆)
看板AndroidDev
標題[問題] 有關於Socket 傳送和接收byte[]的問題
時間Wed Aug 24 22:28:13 2011
小弟最近要寫一個Server and Client的程式
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
其中bmp是Client端用相機照起來的圖檔
Client用
DataOutputStream output = new DataOutputStream(clientSocket.getOutputStream());
output.write(b);
output.flush();
然後Server接收端用
byte[] receive = new byte[2048];
DataInputStream input = new DataInputStream(socket.getInputStream());
while ( input.read(receive) != -1 ) {
....
....
}
但是Server端似乎會停在input.read就不動了
或是有其他方法能夠傳送嗎??
拜託大神們救救小弟吧Q_Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.144.132
1F:→ Killercat:你的socket確定是對的嗎 TCP來講有Listen/Accept socket 08/25 05:48
2F:→ Killercat:不是new一個Socket就能用的 08/25 05:48
3F:推 LaPass:ServerSocket SS = new ServerSocket(你的port); 08/25 07:59
4F:→ LaPass:Socket S = SS.Accept(); 08/25 08:00
5F:→ LaPass:Server端要這樣寫,大小寫以及拼字我沒檢查。 08/25 08:00
6F:→ LaPass:還有,沒收到東西的話,程式會停在input.read()那邊沒錯 08/25 08:01