linux tcp recv: сброс соединения по пиру - PullRequest
0 голосов
/ 10 декабря 2018

Я сейчас программирую сокеты, используя tcp в Linux.

Я делаю простой черный разъем.

Мы делаем это для одновременной работы с использованием нескольких процессов.

Но,

recv: Сброс соединения по пиру <<<< </p>

Появляется ошибка, подобная изображению.

Я хотел бы посоветовать вам, к какой части прикоснуться.

enter image description here

Здесь возникает ошибка. На сервере дочерний процесс отправляет и получает клиент с помощью fork ().

 if((len = recv(sd, buf, sizeof(buf), 0)) == -1) {
        perror("recv");
        exit(1);
    }
    buf[len] = '\0';
    printf("==> From dealer : %s\n", buf);

    printf("1.bet\t 2.exit\n");
    scanf("%s", buf);
    if(send(sd, buf, sizeof(buf) + 1, 0) == -1) {
            perror("send");
            exit(1);
        }
    if(strcmp(buf,"1") == 0){
        printf("how much to bet?\n");
        scanf("%s", buf);
        money = atoi(buf);
        printf("OK!! GameStart!!\n");

        if((len = recv(sd, buf, sizeof(buf), 0)) == -1) {
                 perror("recv");
                 exit(1);
            }
        printf("first card : %d\n", atoi(buf));
        sum += atoi(buf);

        scanf("%s", buf);
        if(send(sd, buf, sizeof(buf) + 1, 0) == -1) {
                perror("send");
                exit(1);
            }

        if((len = recv(sd, buf, sizeof(buf), 0)) == -1) {
                 perror("recv");
                 exit(1);
            }
        printf("second card : %d\n", atoi(buf));
        sum += atoi(buf);

Предыдущая запись recv работает нормально.Тем не менее, вышеуказанная ошибка возникает в последнем рев.

...