static unsigned int sample( unsigned int hooknum, struct sk_buff * skb, const struct net_device *in, const struct net_device *out, int (*okfn) (struct sk_buff *)) { __be32 sip; /* ((unsigned char *)&server)[0] = 192; ((unsigned char *)&server)[1] = 168; ((unsigned char *)&server)[2] = 22; ((unsigned char *)&server)[3] = 21; */ if(skb && pid!=0) { struct iphdr *iph; struct sk_buff *sb = NULL; sb = skb; iph = ip_hdr(sb); sip = iph->saddr; if(((unsigned char *)&sip)[0] == 10 && iph->protocol != 0x11) { sendMSG(sip); } } return NF_ACCEPT; }
/************************************************************ // Function Name: main // Parameters: int argc, char *argv[] // Description: Gets handle and sets up connection to server, // runs chat until timeout or user types "quit". ************************************************************/ int main(int argc, char *argv[]) { int sockfd, portno, quit; struct sockaddr_in serv_addr; struct hostent *server; char handle[256]; //checks if arguments match up if (argc < 3) { fprintf(stderr,"usage %s error requires 3 arguments\n", argv[0]); exit(0); } printf("What is your handle?\n"); fgets(handle,sizeof(handle),stdin); handle[ strlen ( handle ) - 1 ] = '\0'; //get reference for socket using port number from argument portno = atoi(argv[2]); sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) error("ERROR opening socket"); //checks if servername is valid server = gethostbyname(argv[1]); if (server == NULL) { fprintf(stderr,"ERROR, no such host\n"); exit(0); } //zeros out struct and fills it in bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr, server->h_length); serv_addr.sin_port = htons(portno); //connecting to socket if (connect(sockfd,&serv_addr,sizeof(serv_addr)) < 0) error("ERROR connecting"); printf("Now connected\n"); printf("Please enter the message: please type \"quit\" to exit chat.\n"); quit = 0; while(quit != 1) { quit = sendMSG(sockfd,handle); if(quit != 1) quit = recvMSG(sockfd); } printf("Connection closed\n"); close(sockfd); return 0; }
void MyServerThread::run() { //std::cout<<"hi"<<std::endl; /*for(int i=0;i<16;i++) { matrix[i]=(float)i+1; std::cerr<<"matrix:" << matrix[i] << std::endl; }*/ memcpy(buf,matrix,sizeof(float)*16); sendMSG(); }
/* ---------------------------------------------------------------------------- * @brief отправляем сообщение SET length=10 msg size = 9 */ TEST(fifo, sendSETL10MSG9) /* NEED RUN SERVER */ { printf("sendSETL10MSG9() ... \n"); int ans = 0; int exec = 1; int sock; unsigned char msg[10] = "AAAAAAAAA"; unsigned char *buf; int bufSize = 0; int msgSize = 9; int length = 10; ans = sendMSG(msg, msgSize, length); TEST_ASSERT_EQUAL(-100, ans); }
void* loginThreadHandler (void* port) { int loginPort = (*((int*)port)); pthread_t clientthread [MAX_PLAYERS]; struct sockaddr_in serverAddr; int listensocket , tcpsocket; tcpsocket = socket(AF_INET,SOCK_STREAM,0); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(loginPort); serverAddr.sin_addr.s_addr = INADDR_ANY; //Bind if( bind(tcpsocket,(struct sockaddr *)&serverAddr , sizeof(struct serverAddr)) < 0) { //print the error message perror("[server]bind failed. error\n"); close(tcpsocket); return 1; } puts("[server]bind successfull"); //Listen if( listen( tcpsocket, 3 ) < 0 ) { errorPrint("[server]listen error "); close(tcpsocket); return -1; } puts("[server]listening ,waiting for incoming connections...\n"); listensocket = accept(loginPort,NULL ,NULL); printf ("[login] listensocket: %d \n",listensocket); if (listensocket == -1) { printf ("[login]listensocket shitti , try new port.\n"); exit(0); } initialisePlayers(); // Setzt alle Sockets auf -1 //Warte bis vier Spieler verbunden. Vorher hörst du den Clients zu, guckst erstens ob der Startgame definitiv vom Leiter kommt //und ob auch vier Spieler (clientCount?) eingeloggt sind! //Dann könnts los gehen. Wenn startgame nachricht an nicht leiter geht, virtuel den Startbutton bei den dreien klicken (optional) //====================================Los geht's, warten wir auf verbindungsfreudige Clienten================================== while (1) { printf ("[login] ready to connect\n"); int sendsocket = acceptConnection (listensocket); printf ("[login] Sendsocket %d \n",sendsocket); printf ("[login] Waiting for message from client \n"); MESSAGE lrqMsg; MTYPE type = 0; type = recvMSG (sendsocket, &lrqMsg); if (type == MTYPE_LRQ) { if (1) { printf("ok alles klar soweit"); } else { MESSAGE errMsg = createERR (ERR_SUBTYPE_FATAL,"***[login] Ungültige RFC Version! ( !=8)***\n"); sendMSG (sendsocket,&errMsg); close (sendsocket); } } else { MESSAGE errMsg; if (getID () == -1) { errMsg = createERR (ERR_SUBTYPE_FATAL,"***[login] Server voll!***\n"); } sendMSG (sendsocket,&errMsg); close (sendsocket); } } return NULL; }