0

現在、私はビデオを HTML5-GUI にストリーミングするために見つけた小さな C アプリケーションを使用しているプロジェクトに取り組んでいます。

このブログでソースコードを見つけました

いくつかの基本的なことについては、このコードは正常に機能します。私が変更したかったのは、ビデオファイルのファイルサイズを別のファイルから読み込むことだけでした。したがって、私はCのファイルを読んでいました:

char file_buf[32];
input = fopen("size.dat", "r");
fgets(file_buf, 32, input);
num_chunks = atoi(file_buf);
videosize = (num_chunks-1)*1024;
fclose(input);
printf("videosize: %d",videosize);

現在、他のコードを何も変更しなくても、「不正なファイル記述子」エラーが発生します。ここで何が問題なのですか?

編集:アプリケーションをますますテストしましたが、障害は非常にランダムであるようです....何かアイデアはありますか?

Edit2: ソケットを受け入れる必要があるときにエラーが発生します。コードは次のようになります。

if((socketfd = socket(AF_INET,SOCK_STREAM,0))==-1){
        printf("Socket creation failed!\n");
    }
printf("Socket Creation: %s\n",strerror(errno));

bzero(&sockserv,sizeof(sockserv));

sockserv.sin_family = AF_INET;
sockserv.sin_addr.s_addr = INADDR_ANY;
sockserv.sin_port = htons(8080);

if(bind(socketfd,(struct sockaddr *)&sockserv,sizeof(sockserv))<0)
    {
    printf("Error binding the socket\n");
    }
printf("Socket Bind: %s\n",strerror(errno));

if(listen(socketfd,1) == -1){
printf("Listening to Socket failed \n");
}
printf("Socket Listen: %s\n",strerror(errno));

clientfd = accept(socketfd,(struct sockaddr*) &sockclient,&clientsocklen);
if(clientfd  < 0){
    printf("Accepting Socket failed!\n");
}

そこで何が問題になるのでしょうか?

よろしくお願いします、PG

4

1 に答える 1