Tôi đang phát triển một ứng dụng dành cho thiết bị di động cho Android. Ở đó, tôi tạo ổ cắm và truyền dữ liệu giữa điện thoại di động Android và ứng dụng cửa sổ (được chạy trên máy tính, máy tính xách tay). Tôi đang sử dụng android 2,3giá trị thời gian mặc định của java.net.Socket trong android là gì?
kiểm tra điện thoại di động samsung galaxy pop
Các pc và điện thoại di động được kết nối qua USB tithering.
Truyền dữ liệu chính xác.
Nhưng một vấn đề là ở giữa ứng dụng phối màu bị hủy bỏ bằng cách rút phích cắm usb di động khỏi hệ thống, sau đó tôi ném ngoại lệ.
Nhưng một số lần nó không thông qua bất kỳ ngoại lệ nó chỉ đơn giản là chờ đợi, Socket cũng không chờ đợi khép kín cho dữ liệu cho việc đọc
Vì vậy, xin vui lòng gửi thời gian ổ cắm mặc định ra thời gian trong android
mã mẫu của tôi được đưa ra dưới đây
Socket socket=null;
DataOutputStream dos=null;
OutputStream os=null;
InputStream is=null;
DataInputStream dis=null;
try
{
Log.i(tagName, "b4 creating socket");
socket=new Socket(this.getIpAddress(),this.getPort_number());
is=socket.getInputStream();
dos=new DataOutputStream(os);
dis=new DataInputStream(is);
}
catch(UnknownHostException unknown_ex)
{
Log.i(tagName, "Exception host unknown : "+unknown_ex.toString());
unknown_ex.printStackTrace();
}
catch(IOException ioe_ex)
{
Log.i(tagName, "ioe Exception : "+ioe_ex.toString());
ioe_ex.printStackTrace();
}
catch(Exception ex)
{
Log.i(tagName, "Exception : "+ex.toString());
ex.printStackTrace();
}
if(dos!=null)
{
try
{
dos.close();
}
catch(Exception ex)
{
}
}
if(dis!=null)
{
try
{
dis.close();
}
catch(Exception ex){}
}
if(socket!=null)
{
try
{
socket.close();
}
catch(Exception ex)
{
}
}
socket=null;dos=null;dis=null;
Log.i(tagName, "MySocketConnection.connectMe() - end");
Khi tôi sử dụng mã
Socket.getSoTimeout()
Sau đó, nó trả về 0.
Vui lòng đưa ra ý tưởng của bạn.
Giá trị bạn nhận được khi bạn gọi 'Socket.getSoTimeout()' là gì? –