我创建了这样的界面
public interface NetworkInterface {
public void onReceive();
}
我有两个实现此类接口的类。
public class NetworkManager implements NetworkInterface {
private NetworkQueue mNetworkQueue;
private TCPConnection mTCPConnection;
private Worker mWorker;
public NetworkManager(){
mNetworkQueue = new NetworkQueue();
mTCPConnection = new TCPConnection();
mWorker = new Worker();
}
@Override
public void onReceive() {
// TODO Auto-generated method stub
}
}
public class TCPConnection implements NetworkInterface{
private final static String IP = "1.1.1.1";
private final static String PORT = "12001";
private Socket mSocket;
private DataOutputStream mOut;
private InputStream mIn;
public TCPConnection() throws NumberFormatException, UnknownHostException, IOException{
mSocket = new Socket(InetAddress.getByName(IP),Integer.valueOf(PORT));
mOut = new DataOutputStream(mSocket.getOutputStream());
mIn = mSocket.getInputStream();
}
@Override
public void onReceive() {
// TODO Auto-generated method stub
}
}
因此,TCPConnection将导入NetworkManager,并在TCPConnection的onReceive函数中,它将调用NetworkManager的onReceive函数。在NetworkManager的onReceive函数中,会将任何作为参数传递的内容添加到工作队列中。
我想知道这是否是处理回调函数的正确方法。
提前致谢。
最佳答案
在开始为其设计框架之前,您需要了解TCP网络的实际工作方式。我建议您阅读Java教程的“定制网络”线索。