私はnagaを使用して非同期ソケットプログラミングを行っています。
ただし、Socketオブジェクトに任意のデータを添付できる必要があります。
たとえば、私は次のようなコードを持っています:
service = new NIOService();
// Server is JSONObject
NIOSocket socket = service.openSocket(Server.getString("ip"), Server.getInt("port"));
??? Add mydata to socket
socket.listen(observer); // See class below
System.out.println(socket.mydata);// get new data
public static class Observer extends SocketObserverAdapter {
//Called when Socket makes connection
@Override
public void connectionOpened(NIOSocket socket) {
System.out.println(socket.mydata); // get data
socket.mydata = "yay!";// set data
}
}
私が抱えている問題は、Observer.connectionOpened
コールバックでソケットオブジェクトのデータを取得および設定し、後でアクセスできるようにする必要があることです。
オブジェクトにデータを追加する方法はおそらくないことを理解していますが、データをオブジェクトに関連付けて、データを渡し、データにアクセス(および変更)できるようにするための最良の方法は何ですか?
クラスコードを再コンパイルして変数をクラスに追加することはいつでもできますが、それは非常にハックなようで、避けようとしています。
注:私はJavaプログラミングにはかなり慣れていませんが、プログラミング全般には慣れていません。