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