All pastes #478299 Raw Edit

Threaded Server

public c v1 · immutable
·published 2007-05-09 02:35 UTC
rendered paste body
void startCon_ServThread(void){	pthread_t thread;	int id;	//Con_Serv();	//Need to clean up the thread}void Con_Serv( void ) {     	int sockfd, newsockfd, portno, clilen;     	char buffer[256];     	struct sockaddr_in serv_addr, cli_addr;    	int n;     	sockfd = socket(AF_INET, SOCK_STREAM, 0);     	if (sockfd < 0) { 		Com_Printf (" ERROR the socket didn't open ");	}     	bzero((char *) &serv_addr, sizeof(serv_addr));     	portno = 33333;     	serv_addr.sin_family = AF_INET;     	serv_addr.sin_addr.s_addr = INADDR_ANY;     	serv_addr.sin_port = htons(portno);	//Com_Printf ( " Socket Opened "  );     	if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {		Com_Printf (" ERROR on binding ");	}	//Com_Printf ( " Socket Bound " );    	listen(sockfd,5);     	clilen = sizeof(cli_addr);     	newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, (socklen_t*)&clilen);	Com_Printf ( " Socket accept " );     	if (newsockfd < 0) {		Com_Printf ( " ERROR cannot accept\n" );	}     while(1){		Com_Printf ( " Enter the while loop" );		bzero(buffer, 256);     		n = read(newsockfd,buffer,255);     		if (n < 0)			Com_Printf("ERROR reading from socket");		Com_Printf ( "] Message Recieved" );		Cbuf_AddText( buffer );		Cbuf_AddText("\n");     		if (n < 0)			Com_Printf("ERROR writing to socket");     }	//close(newsockfd);	//close(sockfd);	return;}