Serwer TCP - Błąd

0

Witam,

Wyświetla mi się błąd :

serwertcp.cc: In function ‘int main()’:
serwertcp.cc75: error: invalid conversion from ‘int*’ to ‘socklen_t* {aka unsigned int*}’ [-fpermissive]
/usr/include/i386-linux-gnu/sys/socket.h12: error: initializing argument 3 of ‘int accept(int, sockaddr*, socklen_t*)’ [-fpermissive]

newsockfd = accept(sockfd, (struct sockaddr *) &klient_adres, &klient ); <--- ta konstrukcja to z książki

 
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>

using namespace std;

int main()
{
unsigned int port = 6666;                                        /*port serwera*/
struct sockaddr_in serwer_adres;                                 /*adres serwera*/
struct sockaddr_in klient_adres;                                 /*adres serwera*/		
int sockfd, newsockfd;
int klient;
char recv_client_msg[100];
int rc;

	if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) 
	{		
		printf("blad socket()");
		return 1;
	}
	
	//dowiazanie adesu lokalnego by umozliwic wysylanie klientowi pakietu do nas
	bzero((char *)&serwer_adres, sizeof(serwer_adres));
	serwer_adres.sin_family = AF_INET;
    serwer_adres.sin_port = ntohs(port);
    serwer_adres.sin_addr.s_addr = htonl(INADDR_ANY); //INDADDR_ANY oznacza ze wyrazamy zgode na połaczenie z dowolnym interfejsem internetu
    
    /*wiazanie adresu z gniazdem*/
    if (bind(sockfd, (struct sockaddr *) &serwer_adres, sizeof(serwer_adres)) == -1) 
    {
    	printf("blad bind()\n");
    	return 1;
    }
    
    listen(sockfd, 3);
    klient = sizeof(klient_adres);
    newsockfd = accept(sockfd, (struct sockaddr *) &klient_adres, &klient );
    if(newsockfd == -1) 
    {
    	printf("blad accept()");
    	return 1; 
    }
    read(newsockfd ,recv_client_msg, 100);
    puts(recv_client_msg);
    
    
}
0

I czego w tym bledzie nie rozumiesz? Nie wiesz, ze istnieje roznica miedzy liczbami naturalnymi a liczbami calkowitymi?

1 użytkowników online, w tym zalogowanych: 0, gości: 1