int main(int count,char*arg[]) { pthread_t rThread, sThread; int ret, clntSock; // setup sockets setupClient(arg[1], &clntSock); // fire off some threads if((ret = pthread_create(&rThread, NULL, receiveMessage_t, (void *) &clntSock)) < 0) printf("\n\n\nPROBLEM\n\n\n"); if((ret = pthread_create(&sThread, NULL, sendMessage_t, (void *) &clntSock)) < 0) printf("\n\n\nPROBLEM\n\n\n"); pthread_join(rThread, NULL); // clean this mess up close(clntSock); return 0; }
ClientDefinitions::ClientDefinitions( char * initKey ) : server( LOCAL_SERVER_PORT ) // initialization list { char * oneTimeKey; memset( oneTimeKey, NULL, KEY_LENGTH + 1 ); //char postData[ POST_DATA_LENGTH ]; unsigned char authTryCount = 0; Serial.begin( 9600 ); Serial.print( "Free ram: " ); Serial.println( freeRam( ) ); initEthernet( ); server.begin( ); setupServer( ); setupClient( false, &authTryCount, initKey ); //Serial.println( "Success." ); }
/////F AHelloWindow5 @ @ instance public AHelloWindow5 :: AHelloWindow5(unsigned long windowId) : IFrameWindow ( IFrameWindow::defaultStyle() | IFrameWindow::minimizedIcon | IFrameWindow::menuBar | IFrameWindow::accelerator, windowId) { setupClient(); setupStatusArea(); setupInfoArea(); setupButtons(); setupMenuBar(); setupHelp(); sizeTo(ISize(400,300)); setFocus(); show(); }
int main(int argc, char** argv) { if (argc != 4) { fprintf(stderr, "Usage: ./client host port file\n"); return -1; } int clientSocket = setupClient(argv[1], argv[2]); if (clientSocket == -1) { return -1; } int fileToSend = open(argv[3], O_RDONLY); if (fileToSend == -1) { fprintf(stderr, "failed to open file %s\n", argv[3]); close(clientSocket); return -1; } char* nameToSend = getNameInDir(argv[3]); off_t fileToSendLength = getFileSize(fileToSend); unsigned short nameToSendLength = strlen(nameToSend); if (write(clientSocket, &nameToSendLength, sizeof(nameToSendLength)) == -1) { fprintf(stderr, "failed to write to server: %s\n", strerror(errno)); close(clientSocket); close(fileToSend); return -1; } if (write(clientSocket, nameToSend, nameToSendLength) == -1) { fprintf(stderr, "failed to write to server: %s\n", strerror(errno)); close(clientSocket); close(fileToSend); return -1; } if (sendfile(clientSocket, fileToSend, NULL, fileToSendLength) == -1) { fprintf(stderr, "failed to send file to server: %s\n", strerror(errno)); close(clientSocket); close(fileToSend); return -1; } close(clientSocket); close(fileToSend); printf("File %s was sent successfully\n", nameToSend); return 0; }
int main(int argc, char **argv) { //parse command line strcpy(autoip,""); for(int j=0; j<argc; j++) { if(strcmp(argv[j],"-full")==0) fullscreen=1; else if(strstr(argv[j],"-join")!=0) sscanf(argv[j],"-join:%s", autoip); else if(strstr(argv[j],"-port")!=0) sscanf(argv[j],"-port:%ld", &SERVER_PORT); } //strcpy(autoip,"127.0.0.1");//testing //init graphics initializeSystem(); //setup setupClient(); //startup term.newLine("^cMystera Legends Beta %.3f ^b- ^OZircon Release",client_version); //only for testing //initTestingMode(); //checking for newer version or showing servers //if(!checkVer())showServers(); //get available servers //initialize socket library if(!debug) { if(strlen(autoip)>2) { /*dialog=-1; //char show[128]; cstate=1; //sprintf(show,"--- Attempting to connect to %s",autoip); //term.newLine(show); //term.render(0,480,246); //Renderer::Swap(); if(!nc.connect(autoip,SERVER_PORT)) term.newLine("--- Error connecting. CTRL-Q to quit."); else { term.newLine("--- Connected to %s.",autoip); connected=1; }*/ sips.size(1); strcpy(sips[0].ip,autoip); sprintf(sips[0].name,"^W%s",autoip); strcpy(sips[0].players," "); vDialog[0].w[2].addList(sips[0].name); dialog=0; } else showServers(); } unsigned long loopnum = 0; unsigned long lastsec = 0; unsigned long loopdif = 0; long second = time(0); unsigned long sleeptime = 0; const long FPS = 50; //buildMapLayers(); //application loop while(!done) { Input::Update(); doFrame(); if(time(0) == second + 1) { loopdif = loopnum - lastsec; lastsec = loopnum; sleeptime = float(1000/FPS); sleeptime -= loopdif/1000; second++; } loopnum++; Sleep(sleeptime); if(connected) { //term.newLine("I really am connected you know."); if(udpTimer.tick(1500)) { //send udp packet char u=NULL_MSG; nc.send((unsigned char *)&u,1,SEND_NON_GUARANTEED); } int res = nc.update(); if(res==-1 || servTimer.tick(1000000)) { me=-1; player.size(0); player.size(10); world.size(0); world.size(10); item.size(0); term.newLine("--- Connection closed."); connected=0; servTimer.reset(); dialog=0; Renderer::SetTitle("Mystera Legends Beta"); nc.shutdown(); } } } //shutdown fclose(chatLog); nc.shutdown(); Mix_CloseAudio(); Renderer::Shutdown(); //if(restart) // doRestart(); return 0; }