小编gec*_*iss的帖子

如何使用 C 在 Linux 上的线程中修复“从套接字读取错误 - 错误的文件描述符”?

我正在设置服务器客户端应用程序(聊天),并且遇到了套接字/线程问题。服务器和客户端都运行在Linux上。

我希望服务器能够为多个用户提供服务,为此我想使用pthread.h中的线程中的线程,因此每个登录用户都有自己的线程。

这是服务器main.c

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include "manazerUctov.h"

int pocetVlakienZOP = 0;

int main(int argc, char *argv[])
{
    pthread_t* vlaknaZiadosti = 
    (pthread_t*)malloc(sizeof(pthread_t)*POCET_UZIVATELOV);

    int sockfd, newsockfd;
    socklen_t cli_len;
    struct sockaddr_in serv_addr, cli_addr;
    int n;

    // Program
    if (argc < 2) {
        fprintf(stderr, "usage %s port\n", argv[0]);
        return 1;
    }

    bzero((char*) &serv_addr, sizeof (serv_addr));
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = INADDR_ANY;
    serv_addr.sin_port = htons(atoi(argv[1]));

    sockfd …
Run Code Online (Sandbox Code Playgroud)

c sockets linux descriptor

2
推荐指数
1
解决办法
2996
查看次数

标签 统计

c ×1

descriptor ×1

linux ×1

sockets ×1