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

const char* MSG1 = "Hello MSG1";
const char* MSG3 = "Hello MSG3";

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

   int  port=-1, rc;

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

   /* 'host' may be a socket name or a host name */
   char buf[80], *host= (port==-1) ? argv[1] : argv[2], socknm[80];

   /* create a client socket */
   sock sp( port!=-1 ? AF_INET : AF_UNIX, SOCK_STREAM );
   if (!sp.good()) return 1;

   /* connect to a server socket */
   if (sp.connect(host,port) < 0) return 8;
 
   /* Send MGS1 to server */
   if (sp.write(MSG1, strlen(MSG1)+1) < 0) return 9;

   /* read MSG2 from server */
   if (sp.read(buf,sizeof buf) < 0) return 10;
   cerr << "client: recv '" << buf << "'\n";

   /* Send MGS3 to server */
   if ((rc=sp.writeto( MSG3, strlen(MSG3)+1, 0, host, port, -1)) < 0) return 11;

   /* read MSG4 from server */
   if ((rc=read(sp.fd(),buf,sizeof buf))==-1) return 12;
   cerr << "client: read msg: " << buf << endl;

   /* shut down socket explicitly */
   sp.shutdown();
}
Соседние файлы в папке socket