0
public void sendToServer(String fileToSend, String ip, int sendPort)
{
int port = sendPort;
String url = ip;
File file = new File(fileToSend);
String fileName = file.getName();
Socket sock;
try {
sock = new Socket(url,port);
//Send the file name
OutputStream socketStream = sock.getOutputStream();
ObjectOutput objectOutput = new ObjectOutputStream(socketStream);
objectOutput.writeObject(fileName);
//Send File
byte [] mybytearray = new byte [(int)file.length()];
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(mybytearray,0,mybytearray.length);
OutputStream os = sock.getOutputStream();
os.write(mybytearray,0,mybytearray.length);
fileSentOkay();
os.flush();
sock.close();
} catch (UnknownHostException e) {
hostNotFound();
} catch (IOException e) {
hostNotFound();
}
}
當我嘗試送東西到服務器時,服務器沒有監聽連接,在手機不斷嘗試發送的文件。因此,我的Android程序將最終強制關閉。超時就發送到服務器套接字
我該如何設定這個發生的時間?我需要在發送數據的套接字上使用類似setSoTimeout()
的東西嗎?
我添加了sock.setSoTimeout(1000),但它似乎沒有影響任何東西。如果我試圖將文件發送到不存在的IP,它會在一段時間後強制關閉。 – 2011-05-03 19:16:51
你能提供一個導致力量關閉的錯誤logcat嗎? – Stephan 2011-05-03 19:51:37
嘿,我無法獲得格式化在這裏工作,所以我粘貼到鏈接logcat文件,然後強制關閉:http://pastebin.com/PGSGE3cd – 2011-05-03 20:33:25