Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
01.05.2014
Размер:
1.27 Кб
Скачать
#include "tli.h"
#define QUIT_CMD 2

int main( int argc, char* argv[]) 
{
   if (argc < 2) {
      cerr << "usage: " << argv[0] << " <service|no> [<host>]\n";
      return 1;
   }

   char buf[80];
   int  port=-1, rc, flags;

   /* check if port number of socket name is spceified */
   (void)sscanf(argv[1],"%d",&port);

   tli  *sp;
   if (port==-1)  
      sp = new tli( argv[2], argv[1] );
   else sp = new tli (port);

   if (!sp || !sp->good()) {
      cerr << "client: create transport endpoint object fails\n";
      return 1;
   }

   if (sp->Bind_anonymous() < 0) {
      cerr << "client: bind fails\n";
      return 2;
   }

   /* connect to a server socket */
   if (sp->connect() < 0) {
      cerr << "client: connect fails\n";
      return 3;
   }
 
   /* Send cmds 0 -> 2 to server */
   for (int cmd=0; cmd < 3; cmd++) 
   {
      /* compose a command to server */
      sprintf(buf,"%d",cmd);
      if (sp->write(buf,strlen(buf)+1) < 0) return 4;

      /* exit the loop if QUIT_CMD */
      if (cmd==QUIT_CMD) break;

      /* read reply from server */
      if (sp->read(buf,sizeof buf, flags) < 0) return 5;
      cerr << "client: recv '" << buf << "'\n";
   }
   sp->shutdown();
   return 0;
}
Соседние файлы в папке tli