>есть две проги - клиент и сервер.клиент посылает серверу сообщение,а сервер его
>принимает и отображает на экране.
>Если посылать всего одно сообщение ,то все нормально.Но вот если организовать цикл
>отправки и приема сообщений,то клиент после первого сообщения пишет об ошибке
>Segmentation fault,а сервер не откликается.
>это сервер:
>s_new = accept (s, &from_sin, &from_len);
> perror("Accept");
> while(1) {
>
> from_len = read (s_new, buf, BUF_SIZE);
> write (1, buf, from_len);
> if(strcmp(buf,"kill")==0) {
> printf("\nExiting\n");
> exit(0);
> }
> }
> shutdown (s_new, 0);
> close (s_new);
>
> }
>Клиент:
>while(1) {
> scanf("%s",&input);
>
> send (s, input, sizeof(input), 0);
>
>if(strcmp(s,"kill")==0) {
> printf("Exiting...\n");
>exit(0);
>}
>}
>perror("SEND()");
> close (s);
scanf .... strcmp ....... ;)
P.S.: лучше используй вещи типа shutdown(sock, SHUT_RDWR).. вместо 0.. и т.п.
|