Как мне реализовать обратный вызов по сети? - PullRequest
0 голосов
/ 05 июля 2011

Я создал интерфейс, подобный этому

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 и вФункция onReceive TCPConnection, она будет вызывать функцию onReceive NetworkManager.В onReceive функция NetworkManager добавит все, что передается в качестве параметра в рабочую очередь.

Мне было интересно, если это правильный способ приблизиться к функции обратного вызова.

Заранее спасибо.

1 Ответ

1 голос
/ 05 июля 2011

Вы должны понять, как на самом деле работает сеть TCP, прежде чем приступить к разработке инфраструктуры для нее.Я предлагаю вам прочитать журнал по пользовательской сети Учебного руководства по Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...