Logo 
Search:

Networking Articles

Submit Article
Home » Articles » Networking » TCP/IPRSS Feeds

TCP/IP program to insert, delete, or lookup words in a dictionary as specified

Posted By: Milind Mishra     Category: Networking     Views: 1610

TCP/IP program to insert, delete, or lookup words in a dictionary as specified.

Code for TCP/IP program to insert, delete, or lookup words in a dictionary as specified in Networking

#include <rpc/rpc.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include "rdict.h"#define    MAXWORD    50        /* maximum length of a command or word    */#define    RMACHINE    "localhost"/* name of remote machine    */
CLIENT    *handle;            /* handle for remote procedure    */int    nextin(char *cmd, char *word), initw(), insertw(char *word);
int    deletew(char *word), lookupw(char *word);

int
main(int argc, char *argv[])
{
    char    word[MAXWORD+1]; /* space to hold word from input line    */char    cmd;
    int    wrdlen;        /* length of input word            *//* set up connection for remote procedure call  */
 
       handle = clnt_create(RMACHINE, RDICTPROG, RDICTVERS, "tcp");
       if (handle == 0) {
               printf("Could not contact remote program.\n");
               exit(1);
       }

    while (1) {
        wrdlen = nextin(&cmd, word);
        if (wrdlen < 0)
            exit(0);
        switch (cmd) {
        case'I':    /* "initialize" */
            initw();
            printf("Dictionary initialized to empty.\n");
            break;
        case'i':    /* "insert" */
            insertw(word);
            printf("%s inserted.\n",word);
            break;
        case'd':    /* "delete" */if (deletew(word))
                printf("%s deleted.\n",word);
            else
                printf("%s not found.\n",word);
            break;
        case'l':    /* "lookup" */if (lookupw(word))
                printf("%s was found.\n",word);
            else
                printf("%s was not found.\n",word);
            break;
        case'q':    /* quit */
            printf("program quits.\n");
            exit(0);
        default:    /* illegal input */
            printf("command %c invalid.\n", cmd);
            break;
        }
    }
}

/*------------------------------------------------------------------------ * nextin - read a command and (possibly) a word from the next input line *------------------------------------------------------------------------ */int
nextin(char *cmd, char *word)
{
    int    i, ch;

    ch = getc(stdin);
    while (isspace(ch))
        ch = getc(stdin);
    if (ch == EOF)
        return -1;
    *cmd = (char) ch;
    ch = getc(stdin);
    while (isspace(ch))
        ch = getc(stdin);
    if (ch == EOF)
        return -1;
    if (ch == '\n')
        return 0;
    i = 0;
    while (!isspace(ch)) {
        if (++i > MAXWORD) {
            printf("error: word too long.\n");
            exit(1);
        }
        *word++ = ch;
        ch = getc(stdin);
    }
    return i;
}
  
Share: 



Milind Mishra
Milind Mishra author of TCP/IP program to insert, delete, or lookup words in a dictionary as specified is from India.
 
View All Articles

Related Articles and Code:


 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!