>printf("прослушивание порта началось");
>сдесь в конце строки нет "\n" как только его поставил все заработало При использовании стандартной библиотеки следует помнить что вывод в stdout может быть построчно буферезированным. Т.е. пока \n не появится ничего и не будет выведено.
Либо setbuf(stdout, NULL); в начале программы
Либо fflush(stdout)); после каждого printf();
---------------------------------------
>void * ClientThread(void *data)
>{
....
>while(1)
> {
> ret=recv(sock,szRecvBuff,1024,0);
> if (ret==0) break;
> else if (ret == -1) {printf("пЫЙВЛБ РТЙ РПМХЮЕОЙЙ ДБООЩИ Ч РПФПЛЕ\n"); break;}
> printf(szRecvBuff,"\n");
//szRecvBuff - это строка формата? (первый аргумент printf() - строка формата)
//Это куда печатаем? Если на консоль, то
//printf("%s\n", szRecvBuff);
> strcpy(szSendBuff,szRecvBuff);
> if (ret=send(sock,szSendBuff,sizeof(szSendBuff),0)==-1) break;
> }
> }
----------------------------------
>memset(&localaddr,(int)0,(size_t)sizeof(localaddr));
memset(&localaddr, 0, sizeof(localaddr));
// не надо загромождать код лишними преобразованиями,
// тем более это ведет к ошибкам
---------------------------------
> localaddr.sin_addr.s_addr=htonl(INADDR_ANY);
localaddr.sin_addr.s_addr = INADDR_ANY;
// Здесь htonl не нужен.
// Сетевые константы аля INADDR_ANY всегда имеют правильный порядок байтов
---------------------------------
>И теперь при компиляции выводит ошибку
>/tmp/cc7tryST.o(.text+0*28f):in function 'main':
>:undefined reference to 'pthread_create'
>colelect2: ld returned 1 exit status
Это при компановке, нужно указать библиотеку -lpthread