我创建了这样的界面

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教程的“定制网络”线索。

09-10 06:31
查看更多