Доброго времени суток.
Помогите разодраться в чем ошибка.
вот код
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <string.h>
#include <sys/un.h>
#include <stdlib.h>
#define QUEUE_LENGTH 10
#define BUF_LEN 4096
#define SOCK_NAME "mysocket"
#define PORT 80
int main (void)
{
int sock, client_sock;
char * buf;
int count;
struct sockaddr_in saddr; //------> РУГАЕТЬ НА ЭТУ СТРОКУ
// не могу понять что не так с sockaddr_in
sock = socket (PF_INET, SOCK_STREAM, 0);
if (sock == -1) {
fprintf (stderr, "socket() error\n");
return 1;
}
buf = (char *) malloc (BUF_LEN);
if (buf == NULL) {
fprintf (stderr, "malloc() error\n");
return 1;
}
saddr.sin_family = AF_INET;
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
saddr.sin_port = htons (PORT);
if (bind (sock, (struct sockaddr *) &saddr,
sizeof (saddr)) == -1) {
fprintf (stderr, "bind() error\n");
return 1;
}
if (listen (sock, QUEUE_LENGTH) == -1) {
fprintf (stderr, "listen() error\n");
return 0;
}
while (1) {
client_sock = accept (sock, NULL, NULL);
if (client_sock == -1) {
fprintf (stderr, "accept() error\n");
return 1;
}
if ((count = read (client_sock,
buf, BUF_LEN-1)) == -1) {
fprintf (stderr, "read() error\n");
return 1;
}
buf[count] = '\0';
printf (">> %s\n", buf);
close (client_sock);
if (!strcmp (buf, "exit")) break;
}
free (buf);
close (sock);
unlink (SOCK_NAME);
return 0;
}
Заранее огромное спасибо!
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Segmentation fault (2009)
- Форум socket with function mysql (2009)
- Форум Подключиться к unix-сокету через bash (2020)
- Форум Подсчет числа возможных открытых TCP-портов (2011)
- Форум [C] Получить данные на TCP сокет (2008)
- Форум Проблемы с серверным приложением (2003)
- Форум Не понимаю почему не работает (2013)
- Форум Консольный обмен сообщениями (2017)
- Форум Порт не освобождается после закрытия приложения (2017)
- Форум разбираюсь с классами непонятные ошибки при компиляции объясните в чем я неправ??? (2010)