2

client方法を理解してserverコミュニケーションをとるのに苦労していvaadin 7ます。通信に関してはよく理解できましたserver->clientが、クライアントからサーバーへの通信がどのように機能するかはまだわかりません。クライアント側では を変更すべきではなくState、関連データを 経由で送信する必要があることを読みましたrpc。クライアント側には、MyComponentClientRpcいくつかのメソッドを含むインターフェースがあり、開発者はそれらをConnectorクラス。次に、インターフェイスをサーバー上の匿名クラスとしてインスタンス化し、メソッドを呼び出すことができます。ただし、クライアントに文字列「myString」がある場合、サーバーにメソッドを呼び出すことができるのは、呼び出し時にパラメーターを渡すことしかできないため、どのようにサーバーに転送できますか? では、クライアントにあるデータをどのように取得できますか?

public interface MyComponentClientRpc extends ClientRpc {

    public void getString(String s);

}  




public class MyComponentConnector extends AbstractComponentConnector {


    @SuppressWarnings("serial")
    MyComponentClientRpc mcRpc = new MyComponentClientRpc() {
        public void getString(String s) {
            // TODO Do something useful
                ????
        }
    };

public MyComponentConnector() {
        registerRpc(MyComponentClientRpc.class, mcRpc);

String a = "myString";

....

}

具体的には、クライアントでメソッドをどのように実装し、データをどのように挿入し、サーバーでどのように呼び出す必要があるのでしょうか?

4

1 に答える 1

1

ただし、クライアントに文字列「myString」がある場合、サーバーにメソッドを呼び出すことができるのは、呼び出し時にパラメーターを渡すことしかできないため、どのようにサーバーに転送できますか? では、クライアントにあるデータをどのように取得できますか?

間違ったメカニズムを使用しています。実際には 2 つの RPC がありClientRpcServerRpc. あなたの例でClientRpcは、サーバーからクライアントへの呼び出しに使用します。

クライアントからサーバーに通信するには、から拡張する必要がありますServerRpc

クライアントでは、呼び出します

 MyComponentClientRpc rpc = RpcProxy.create(MyComponentClientRpc.class, this)

プロキシを取得するため。

于 2013-09-06T13:21:17.770 に答える