ONC+ 開発ガイド

バッチを使用しない例

次のプログラムは参考のためだけに示します。バッチを使用するクライアントプログラムの例を、バッチを使用しないように書き直したものです。


例 D-13 バッチを使用しないクライアントプログラムの例

#include <stdio.h>
#include <rpc/rpc.h>
#include "windows.h"

main(argc, argv)
 int             argc;
	char          **argv;
{
 struct timeval  total_timeout;
	register CLIENT *client;
 enum clnt_stat  clnt_stat;
	char            buf[1000], *s = buf;

	if ((client = clnt_create(argv[1], WINDOWPROG, WINDOWVERS,
	            "CIRCUIT_V")) == (CLIENT *) NULL) {
		clnt_pcreateerror("clnt_create");
		exit(1);
 }
	total_timeout.tv_sec = 20;
	total_timeout.tv_usec = 0;
 while (scanf("%s", s) != EOF) {
		if(clnt_call(client, RENDERSTRING, xdr_wrapstring, &s,
		    xdr_void, (caddr_t) NULL, total_timeout) != RPC_SUCCESS) {
			clnt_perror(client, "rpc");
 		exit(1);
		}
	}
 clnt_destroy(client);
	exit(0);
}