Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <netinet/in.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <netdb.h>
- #include <stdbool.h>
- #include "Statki.h"
- #define PORT 15000
- const int rows = 10;
- const int elements = 10;
- int maxships = 10;
- int matrix[10][10];
- int main()
- {
- fd_set master;
- fd_set read_fds;
- struct sockaddr_in myaddr;
- struct sockaddr_in remoteaddr;
- int fdmax;
- int listener;
- int newfd;
- int nbytes;
- int yes = 1;
- int addrlen;
- int i, pierwszy, drugi;
- FD_ZERO( & master );
- FD_ZERO( & read_fds );
- if(( listener = socket( AF_INET, SOCK_STREAM, 0 ) ) == - 1 )
- {
- perror( "socket" );
- exit( 1 );
- }
- if( setsockopt( listener, SOL_SOCKET, SO_REUSEADDR, & yes, sizeof( int ) ) == - 1 )
- {
- perror( "setsockopt" );
- exit( 1 );
- }
- myaddr.sin_family = AF_INET;
- myaddr.sin_addr.s_addr = INADDR_ANY;
- myaddr.sin_port = htons( PORT );
- memset( &( myaddr.sin_zero ), '\0', 8 );
- if( bind( listener,( struct sockaddr * ) & myaddr, sizeof( myaddr ) ) == - 1 )
- {
- perror( "bind" );
- exit( 1 );
- }
- if( listen( listener, 10 ) == - 1 )
- {
- perror( "listen" );
- exit( 1 );
- }
- FD_SET( listener, & master );
- fdmax = listener;
- for(;; ) {
- read_fds = master;
- if( select( fdmax + 1, & read_fds, NULL, NULL, NULL ) == - 1 )
- {
- perror( "select" );
- exit( 1 );
- }
- for( i = 0; i <= fdmax; i++ )
- {
- if(i<=5)
- {
- if( i == listener )
- {
- addrlen = sizeof( remoteaddr );
- if(( newfd = accept( listener,( struct sockaddr * ) & remoteaddr, & addrlen ) ) == - 1 )
- {
- perror( "accept" );
- }
- else
- {
- FD_SET( newfd, & master );
- if( newfd > fdmax )
- {
- fdmax = newfd;
- if(i==4)
- {
- pierwszy = newfd;
- printf( "selectserver: new connection from %s on ""socket %d\n", inet_ntoa( remoteaddr.sin_addr ), pierwszy );
- }
- else
- {
- drugi = newfd;
- printf( "selectserver: new connection from %s on ""socket %d\n", inet_ntoa( remoteaddr.sin_addr ), drugi );
- }
- }
- }
- }
- else
- {
- if(i==5)
- {
- send(4,"gra sie zaczyna\n", strlen("gra sie zaczyna\n"),0);
- send(5,"gra sie zaczyna\n", strlen("gra sie zaczyna\n"),0);
- start_gry();
- }
- }
- }
- else
- {
- send(i,"spadaj",strlen("spadaj"),0);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement