H
hi2000
Unregistered / Unconfirmed
GUEST, unregistred user!
1.我在UNIX上写了个RPC服务程序,客户端也用UNIX调用没问题,现在我在WINDOWS 用BC写
可以做到,但问题我用的是第三方的支撑环境,作为WINDOWS客户端,如何做到呢?
2.另ELPHI中有否该工具可实现RPC调用.
不能用DCOM,因为我要和SCO UNIX,AIX进行RPC通讯,原想用CORBA实现,但接触不多,
同时客户还要付CORBA的运行费.
问题是:如何在WINDOWS上利用RPC和UNIX通讯.
以下是我简单的客户端程序,实现的是客户端传递文件名给服务端,把服务端的文件内容
显示在客户端.已经实现,现在急问:WINDOWS中如何只用DLL, 或WINDOWS还有其他办法?
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <rpc/rpc.h>
#include "rreadfil.h"
main(int argc, char **argv)
{
CLIENT *clnt;
myret *result;/* return file text */
char *server;
myreq filereq;/* request filename */
if (argc != 3) {
fprintf(stderr, "usage: %s host filename/n", argv[0]);
exit(1);
}
server = argv[1]; /* remote server IP address or its hostname */
filereq.filename= argv[2]; /* Filename To get Remote File */
clnt = clnt_create(server, RREADFILEPROG, RREADFILEVERS, "UDP");
if (clnt == (CLIENT *)NULL) {
printf("cannot connect to server!/n");
exit(1);
}
result = rreadfile_1(&filereq, clnt);/* remote rpc server damemon */
if (result == (myret *)NULL) {
clnt_perror(clnt, server);
exit(1);
}
/* Success to display the file ,I have set filetext buffer is 1024*0248 */
printf("result:/n%s/n",result->filetext);
clnt_destroy( clnt );
exit(0);
}
可以做到,但问题我用的是第三方的支撑环境,作为WINDOWS客户端,如何做到呢?
2.另ELPHI中有否该工具可实现RPC调用.
不能用DCOM,因为我要和SCO UNIX,AIX进行RPC通讯,原想用CORBA实现,但接触不多,
同时客户还要付CORBA的运行费.
问题是:如何在WINDOWS上利用RPC和UNIX通讯.
以下是我简单的客户端程序,实现的是客户端传递文件名给服务端,把服务端的文件内容
显示在客户端.已经实现,现在急问:WINDOWS中如何只用DLL, 或WINDOWS还有其他办法?
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <rpc/rpc.h>
#include "rreadfil.h"
main(int argc, char **argv)
{
CLIENT *clnt;
myret *result;/* return file text */
char *server;
myreq filereq;/* request filename */
if (argc != 3) {
fprintf(stderr, "usage: %s host filename/n", argv[0]);
exit(1);
}
server = argv[1]; /* remote server IP address or its hostname */
filereq.filename= argv[2]; /* Filename To get Remote File */
clnt = clnt_create(server, RREADFILEPROG, RREADFILEVERS, "UDP");
if (clnt == (CLIENT *)NULL) {
printf("cannot connect to server!/n");
exit(1);
}
result = rreadfile_1(&filereq, clnt);/* remote rpc server damemon */
if (result == (myret *)NULL) {
clnt_perror(clnt, server);
exit(1);
}
/* Success to display the file ,I have set filetext buffer is 1024*0248 */
printf("result:/n%s/n",result->filetext);
clnt_destroy( clnt );
exit(0);
}