sers Leute ... also hab nun ein bisschen rumgesucht und mal bischen probiert ... aus demo zwecken, habe ich mir einfach mal die beispiele von SUN geschnappt und die einfach mal compeliert Code: der Server #include <stdio.h> #include "msg.h" /* msg.h generated by rpcgen*/ int * printmessage_1_svc(msg, req) char **msg; struct svc_req *req; /* details of call */ { static int result; /* must be static! */ FILE *f; f = fopen("/dev/console", "w"); if (f == (FILE *)NULL) { result = 0; return (&result); } fprintf(f, "%s\n", *msg); fclose(f); result = 1; return (&result); } Code: die header datei #ifndef _MSG_H_RPCGEN #define _MSG_H_RPCGEN #include <rpc/rpc.h> #ifdef __cplusplus extern "C" { #endif #define MESSAGEPROG 0x20000001 #define PRINTMESSAGEVERS 1 #if defined(__STDC__) || defined(__cplusplus) #define PRINTMESSAGE 1 extern int * printmessage_1(char **, CLIENT *); extern int * printmessage_1_svc(char **, struct svc_req *); extern int messageprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); #else /* K&R C */ #define PRINTMESSAGE 1 extern int * printmessage_1(); extern int * printmessage_1_svc(); extern int messageprog_1_freeresult (); #endif /* K&R C */ #ifdef __cplusplus } #endif #endif /* !_MSG_H_RPCGEN */ Code: der client #include <stdio.h> #include "msg.h" /* msg.h generated by rpcgen */ main(argc, argv) int argc; char *argv[]; { CLIENT *clnt; int *result; char *server; char *message; if (argc != 3) { fprintf(stderr, "usage: %s host message\n", argv[0]); exit(1); } server = argv[1]; message = argv[2]; /* * Create client "handle" used for * calling MESSAGEPROG on the server * designated on the command line. */ clnt = clnt_create(server, MESSAGEPROG,PRINTMESSAGEVERS, "visible"); if (clnt == (CLIENT *)NULL) { /* * Couldn't establish connection * with server. * Print error message and die. */ clnt_pcreateerror(server); exit(1); } /* * Call the remote procedure * "printmessage" on the server */ result = printmessage_1(&message, clnt); if (result == (int *)NULL) { /* * An error occurred while calling * the server. * Print error message and die. */ clnt_perror(clnt, server); exit(1); } /* Okay, we successfully called * the remote procedure. */ if (*result == 0) { /* * Server was unable to print * our message. * Print error message and die. */ fprintf(stderr, "%s: could not print your message\n",argv[0]); exit(1); } /* The message got printed on the * server's console */ printf("Message delivered to %s\n",server); clnt_destroy( clnt ); exit(0); } also ich musste bei dem server den functionsaufruf ändern da stand bei sun printmessage_1(msg, req) was aber nicht mit den typen übereinstimmt, die in der headerfile gefordert sind. da habsch den aufruf in printmessage_1_svc(msg, req) geändert soweit so gut compelieren ging ... aber der server wenn ich ihn starte meldet er sich nicht beim portmapper an ... wenn ich eine nachricht senden will mit meinem client bekomme ich folgende fehler Nachricht. 127.0.0.1: RPC: Unknown protocol da nehme ich an, das der server sich nicht angemeldet hat? sry bin noch nicht so bewandert in sachen C wäre super wenn mir wer da auf die sprünge helfen könnte woran das liegt mfg foexle