2011-07-05 1 views
0

私はこのネットワークコールバックを実装するにはどうすればよいですか?

public interface NetworkInterface { 

    public void onReceive(); 
} 

ようなインターフェイスをcrated持っていると私はこのように、このインタフェースを実装する2つのクラスを持っている...

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関数は、作業キューにパラメータとして渡すものをすべて追加します。

これがコールバック機能にアプローチする正しい方法かどうか疑問に思っていました。

ありがとうございます。

答えて

1

フレームワークの設計を開始する前に、TCPネットワーキングの実際の動作を理解する必要があります。 Javaチュートリアルのカスタムネットワークトレイルを読むことをお勧めします。

+0

私が紛失しているものを指摘できますか?私はP2Pを含むネットワーキングプログラミングの背景を持っています。私は私の質問からTCPを理解することの問題を見ません。私の質問は実装スキル(デザインパターン)に関するものでした。 – codereviewanskquestions

+0

@LCYSoftこの場合、あなたの質問が実際に何かについてはわかりません。 – EJP

関連する問題