/* * Create an Database */ int RemoteDBCreate(const char * filename,char * addr,int port) { if(filename == NULL) { fprintf(stderr,"filename Error,%s:%d\n", __FILE__,__LINE__); filename = "nezha.hdb"; } /* connect server */ tServiceHandler dbhandler = OpenRemoteService(addr,port); if(dbhandler == -1) { return -1; } /* open database file */ char Buf[MAX_BUF_LEN] = "\0"; int BufSize = MAX_BUF_LEN; FormatData1(Buf,&BufSize,OPEN_CMD,(char*)filename,strlen(filename)); SendData(dbhandler,Buf,BufSize); BufSize = MAX_BUF_LEN; RecvData(dbhandler,Buf,&BufSize); int cmd = -1; int DataNum = -1; char Data1[MAX_BUF_LEN] = "\0"; int Data1Size = MAX_BUF_LEN; char Data2[MAX_BUF_LEN] = "\0"; int Data2Size = MAX_BUF_LEN; ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size); if(cmd != OPEN_RSP || DataNum != 0) { fprintf(stderr,"Remote DBCreate Error,%s:%d\n", __FILE__,__LINE__); return -1; } return dbhandler; }
/* * Create an Database */ int CreateRemoteDB(char *addr, int port, const char * dbName) { if(dbName == NULL) { fprintf(stderr, "filename Error,%s:%d\n", __FILE__, __LINE__); dbName = "default.hdb"; } /* connect server */ tServiceHandler h = OpenRemoteService(addr, port); if(h == -1) { return -1; } /* open database file */ char Buf[MAX_BUF_LEN] = "\0"; int BufSize = MAX_BUF_LEN; FormatData1(Buf, &BufSize, OPEN_CMD, (char*)dbName, strlen(dbName)); SendData(h, Buf, BufSize); BufSize = MAX_BUF_LEN; RecvData(h, Buf, &BufSize); int cmd = -1; int DataNum = -1; char Data1[MAX_BUF_LEN] = "\0"; int Data1Size = MAX_BUF_LEN; char Data2[MAX_BUF_LEN] = "\0"; int Data2Size = MAX_BUF_LEN; ParseData(Buf, MAX_BUF_LEN, &cmd, &DataNum, Data1, &Data1Size, Data2, &Data2Size); if(cmd != OPEN_RSP || DataNum != 0) { fprintf(stderr, "CreateRemoteDB Error,%s:%d\n", __FILE__, __LINE__); return -1; } return h; }
/* * Create an Database */ tDatabase DBCreate(const char * filename) { if(filename == NULL) { fprintf(stderr,"filename Error,%s:%d\n", __FILE__,__LINE__); filename = "nezha.hdb"; } /* connect server */ h = OpenRemoteService(IP_ADDR,PORT); if(h == -1) { exit(-1); } /* open database file */ char Buf[MAX_BUF_LEN] = "\0"; int BufSize = MAX_BUF_LEN; FormatData1(Buf,&BufSize,OPEN_CMD,(char*)filename,strlen(filename)); SendData(h,Buf,BufSize); BufSize = MAX_BUF_LEN; RecvData(h,Buf,&BufSize); int cmd = -1; int DataNum = -1; char Data1[MAX_BUF_LEN] = "\0"; int Data1Size = MAX_BUF_LEN; char Data2[MAX_BUF_LEN] = "\0"; int Data2Size = MAX_BUF_LEN; ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size); if(cmd != OPEN_RSP || DataNum != 0) { fprintf(stderr,"Remote DBCreate Error,%s:%d\n", __FILE__,__LINE__); } return (tDatabase)&h; }
/* * Create an Database */ tDatabase DBCreate(const char * filename) { /* connect server */ h = OpenRemoteService(IP_ADDR,PORT); if(h == -1) { return -1; } /* open database file */ return (tDatabase)&h; }
int main() { char szBuf[MAX_BUF_LEN] = "\0"; int size = MAX_BUF_LEN; char szMsg[MAX_BUF_LEN] = "hello\0"; tServiceHandler h = -1; h = OpenRemoteService(IP_ADDR,PORT); SendData(h,szMsg,strlen(szMsg)); printf("client send:%s\n",szMsg); RecvData(h,szBuf,&size); printf("client recv:%s\n",szBuf); CloseRemoteService(h); return 0; }