Ứng dụng của tôi có một số hoạt động mà trong lần đầu tiên tôi kết nối một ổ cắm để liên lạc với máy chủ trên các hoạt động khác. Ổ cắm này chạy trong một chuỗi công nhân.Đóng ổ cắm khi hoàn tất ứng dụng
Câu hỏi của tôi là: nơi tôi có thể đóng ổ cắm này khi ứng dụng kết thúc? Sử dụng nút BACK chẳng hạn ...
Tôi nghĩ đóng ổ cắm trong hoạt động cuối cùng nhưng hoạt động này có thể bị hệ thống hủy trong thời gian chạy và đóng ổ cắm ngay cả khi ứng dụng không hoàn tất. Tôi không muốn điều này.
phương pháp run()
tôi về việc xử lý kết nối ổ cắm thread như:
public void run() {
if (this.bliveclient.isConnected()){
try {
//...
while (running) {
//waiting for input data and do something...
}
}
catch (IOException ex) {
//handle exception
}
finally{
try {
mySocket.close();
} catch (IOException ex) {
//handle exception
}
}
}
Nhưng khối finally
không bao giờ được gọi.
Có ai cho tôi một số gợi ý không?
bạn không bao giờ dừng 'chạy' hoặc chuỗi bị giết. Xử lý mạng được yêu cầu bởi nhiều Hoạt động có vẻ giống như một nơi tốt để chuyển dịch vụ đó vào Dịch vụ. – zapl
@zapl, Kết nối TCP đang hoạt động tốt. Tôi có thể nhận và gửi dữ liệu đúng cách ... Vấn đề duy nhất của tôi là đóng socket, vì máy chủ cũng cần phải đóng socket này. – amp