1, Socket
相对Http来说, Socket比较简单。
Proxy proxy = new Proxy(Proxy.Type.SOCKS,mSocketAddress);
mSocket = new Socket(proxy);
mSocket.connect(new InetSocketAddress("•••", •••));
mOutput = mSocket.getOutputStream();
mInput = mSocket.getInputStream();
主要步骤如下:
1,构造Socket对象.
2, connect方法
3,获取OutputStream/InputStream对象
4,直接对OutputStream/InputStream对象进行操作。
Socket的构造方法有好几种,但是一般都是返回的是代理子类PlainSocketImpl对象。
本文章基于android 6.0
其中一种构造方法如下,
public Socket(Proxy proxy) {
if (proxy == null || proxy.type() == Proxy.Type.HTTP) {
throw new IllegalArgumentException("Invalid proxy: " + proxy);
}
this.proxy = proxy;
this.impl = factory != null ? factory.createSocketImpl() : new PlainSocketImpl(proxy);
}
当然PlainSocketImpl也有好几种不同的构造方