Ejemplo n.º 1
0
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();

}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
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;
}