![]() |
![]() |
|
|
ステップ 3: サーバ・プログラムの検証およびコンパイル
サーバ・プログラムの検証
ATMI サーバ・プログラムのソース・コードの内容を確認します。
$ more simpserv.c
simpserv.c のソース・コード
*/
/* #ident "@(#) apps/simpapp/simpserv.c $Revision: 1.1 $" */
1 #include <stdio.h>
2 #include <ctype.h>
3 #include <atmi.h> /* TUXEDO Header File */
4 #include <userlog.h> /* TUXEDO ヘッダ・ファイル */
5 /* tpsvrinit は、サーバの起動時
(要求の処理を行う前) に実行されます。この関数は必須ではありません。
この例では使用されていませんが、サーバのシャットダウン時に呼び出される
tpsvrdone も使用できます。
9 */
10 #if defined(__STDC__) || defined(__cplusplus)
12 tpsvrinit(int argc, char *argv[])
13 #else
14 tpsvrinit(argc, argv)
15 int argc;
16 char **argv;
17 #endif
18 {
19 /* argc と argv が使用されないと、コンパイラによる警告メッセージが出力されます。
20 */
21 argc = argc;
22 argv = argv;
23 /* userlog は TUXEDO 中央メッセージ・ログに書き込みます。 */
24 userlog("Welcome to the simple server");
25 return(0);
26 }
27 /* この関数は、クライアントから要求された実際のサービスを実行します。
引数には、データ・バッファへのポインタ、データ・バッファの長さなどを含む
構造体を指定します。
30 */
31 #ifdef __cplusplus
32 extern "C"
33 #endif
34 void
35 #if defined(__STDC__) || defined(__cplusplus)
36 TOUPPER(TPSVCINFO *rqst)
37 #else
38 TOUPPER(rqst)
39 TPSVCINFO *rqst;
40 #endif
41 {
42 int i;
43
44 for(i = 0; i < rqst->len-1; i++)
45 rqst->data[i] = toupper(rqst->data[i]);
46 /* 転送されたバッファを要求の発信元に返します。 */
47 tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);
48 }
buildserver -o simpserv -f simpserv.c -s TOUPPER
simpserv は作成される実行ファイル、simpserv.c は入力ソース・ファイルです。-s TOUPPER オプションは、サーバの起動時に宣言されるサービスを指定します。
$ ls -l
total 97
-rwxr-x--x 1 usrid grpid 313091 May 28 15:41 simpcl
-rw-r----- 1 usrid grpid 1064 May 28 07:51 simpcl.c
-rwxr-x--x 1 usrid grpid 358369 May 29 09:00 simpserv
-rw-r----- 1 usrid grpid 275 May 28 08:57 simpserv.c
-rw-r----- 1 usrid grpid 392 May 28 07:51 ubbsimple
simpserv という実行可能モジュールが作成されました。
関連項目
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|