我在Android中设置套接字选项失败异常。我做错了什么?
setsockopt failed: EBADF (Bad file number)
对于以下代码:
int timeout = 500;
Socket socket = new Socket(InetAddress.getByAddress(new byte[]{10, 0, 2, 2}),
Integer.parseInt(m.destPort));
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(m);
oos.close();
socket.setSoTimeout(timeOut);
ObjectInputStream iis = new ObjectInputStream(socket.getInputStream());
iis.readObject();
iis.close();
socket.close();
关闭一个套接字的输入或输出流会关闭另一个流和套接字。
改变
oos.close();
自
oos.flush();
(安卓编码不佳。它应该抛出一个SocketException: socket closed.
)