connect ошибка 111 при чтении с попытке подключится к серверу

Рейтинг: 0Ответов: 0Опубликовано: 09.08.2025

я вызываю connect, чтобы отправить запрос на подключение к серверу а connect возвращает код ошибки и переменная errno содержит значение 111. Эта ошибка EIDRM. я нашёл что она появляется когда идентификатор был удален. но я не понимаю что за идентификатор и как это исправить, помогите пожалуйтсa. всем спасибо

кусок кода:


#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <cstdio>
#include <fcntl.h>
#include <unistd.h>

const char *ServerIp = "0.0.0.0";
int ServPort = 9;


int main()
{
    char messangeFrom[256];
    const char *messangeFor = "\0";
    int sd, MaxD, SelRes, ReadBytes;
    struct sockaddr_in ServAddr;
    fd_set readfds, writefds, exceptfds;
    FD_ZERO(&readfds);
    FD_ZERO(&writefds);
    FD_ZERO(&exceptfds);
    ServAddr.sin_family = AF_INET;
    ServAddr.sin_port = htons(ServPort);
    if (!inet_aton(ServerIp, &(ServAddr.sin_addr)))
    {
        printf("error with filling sin_addr: %d\n", errno);
        return -1;
    }else printf("sin_addr was filled\n");

    if((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
    {
        printf("error with creating a socket: %d\n", errno);
        return -1;
    }else printf("socket was created\n");

    if (-1 == (connect(sd, (struct sockaddr *)&ServAddr, sizeof(ServAddr)))){   //тут происходит ошибка
        printf("error with connecting to the server: %d\n", errno);
        return -1;
    }else printf("connected");
    messangeFor = "jopa gdg\n";

Ответы

Ответов пока нет.