亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1691 | 回復(fù): 7
打印 上一主題 下一主題

rpc 一個(gè)實(shí)在問題,請(qǐng)教。。。請(qǐng)指點(diǎn)迷經(jīng)。。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-04-20 11:23 |只看該作者 |倒序?yàn)g覽
需要將下面的數(shù)據(jù)結(jié)構(gòu),從client 傳送到server。并在server側(cè)確認(rèn)傳輸成功。

struct cell
{ int data;
   struct cell *left,*right;}
struct cell *a,*b,*c,*d;

a=malloc(size of (struct cell));
b=...
c=...
d=...

a->data=1;a->left=b;a->right=c;
b->data=2;b->left=NULL;b->right=d;
c->data=3;c->left=d;c->right=NULL;
d->data=4;d->left=NULL;d->right=NULL;

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-04-20 11:30 |只看該作者

把我(自己都看不順眼)的代碼貼出來 瞧瞧

send.c

#include<stdio.h>
#include<stdlib.h>
#include<rpc/rpc.h>
#include "send.h"


main(argc,argv)
int argc;
char *argv[];
{
CLIENT *cl,*clnt_create();
char *server;
struct cell *nl;
int *result;
struct cell *a,*b,*c,*d;
a=malloc(sizeof(struct cell));
b=malloc(sizeof(struct cell));
c=malloc(sizeof(struct cell));
d=malloc(sizeof(struct cell));

a->data=1;
a->left=b;
a->right=c;

b->data=2;
b->left=NULL;
b->right=d;

c->data=3;
c->left=d;
c->right=NULL;

d->data=4;
d->left=NULL;
d->right=NULL;

server=argv[1];

cl=clnt_create(server,SENDPROG,SENDVERS,"tcp");
if(cl==NULL){
clnt_pcreateerror(server);
exit(1);
}
result=send_1(&a,cl);
if(*result==0)
   printf("error\n");
exit(0);
}

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-04-20 11:34 |只看該作者

send_proc.c

#include<rpc/rpc.h>
#include<sys/types.h>
#include<stdio.h>
#include "send.h"

int * send_1(cell_a)
struct cell *cell_a;
{
static int result;
FILE *f;
f=fopen("/dev/console","w");
if(f==(FILE *)NULL){
   result=0;
   return(&result);
}
fprintf(f,"%s\n",cell_a->data);
struct cell *nl;

nl=malloc(sizeof(cell));

while((cell_a->left!=NULL)||(cell_a->right!=NULL))
{
nl->data=cell_a->data;
nl->left=cell_a->left;
nl->right=cell_a->right;
if(cell_a->left!=NULL)
{
send_1(cell_a->left);
}
if(cell_a->right!=NULL)
send_1(cell_a->right);
}
fclose(f);
result=1;
return(&result);
}

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-04-20 11:36 |只看該作者

send.x

struct cell{
      int data;
      struct cell *left;
      struct cell *right;
};

program SENDPROG{
    version SENDVERS{
           int
           SEND(struct cell *)=1;
    }=1;
}=20000006;

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-04-20 11:38 |只看該作者
gcc -o send_s send.c send_clnt.c send_xdr.c -lnsl
gcc -o send_r send_proc.c send_svc.c send_xdr.c -lnsl

send.r 在遠(yuǎn)端服務(wù)器(qq 服務(wù)器名)運(yùn)行。。
本地執(zhí)行 ./send_s qq
產(chǎn)生一CORE 文件。。。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-04-20 11:59 |只看該作者

回復(fù) #1 wenqing_9115 的帖子

小弟覺得,與其看半天代碼,不如跟一下core,一根不就知道是哪兒出錯(cuò)了。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-04-20 14:33 |只看該作者

回復(fù) #1 wenqing_9115 的帖子

你把一個(gè)進(jìn)程中的指針地址發(fā)送到另外的進(jìn)程中, 貌似沒什么用啊

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2009-04-21 15:40 |只看該作者
這個(gè) 遠(yuǎn)程過程調(diào)用貌似只能用 指針傳遞。。。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP