Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Тестовые примеры / ch11 / tli / tli_msg_cls
.C#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