Anonymní profil Sevcik – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Sevcik – Programujte.comAnonymní profil Sevcik – Programujte.com

 

Příspěvky odeslané z IP adresy 88.100.170.–

Sevcik
C / C++ › enet.bespin.org/ knihovny pr…
8. 2. 2013   #171261

Dobrý den,
už nějaký ten rok se snažím programovat v c (pouze moje hobby :) ) a ted se snažím naprogramovat multiplayer. Nicméně nikdy jsem osobně nedoinstalovával potřebné knihovny jako je SDL_Image atd. A právě tady zečíná můj problém. Chtěl bych pouzit knihovny na multiplayer ze stranky enet.bespin.org/ jenze kdyz si na jejich stránkách dám manual jak na to, tak jsem nepochopil, kam vlastně ty knihovny nakopírovat. + vsechny potřebné úkony k běhu knihovny.

Mohli byste mi prosím vysvetlit kam se vlastně takový knihovny ve windows 7 kopírují?
+ všechny potřebné úkony k jejich běhu.

pro informaci takto vypada program, který se snažim zkompilovat (také viz http://enet.bespin.org/Tutorial.html ).
a právě řádek #include <enet/enet.h> mi dělá problémy. Píše mi to "fatal error: enet/enet.h: No such file or directory"
+ nějaký PATH bo co se tam musí přidat. xD + ješte nerozumím jak je to v Makefile.txt, když přidávám novou knihovnu. atd..

Předem děkuji za každou odpověd :)

#include <stdio.h>
#include <string.h>
#include <enet/enet.h>

int main (int argc, char* argv[])
{
    ENetHost *client;
    ENetAddress address;
    ENetPeer *peer;
    ENetEvent event;

    int x = 0, y = 0;
    int xx, yy;
    char data[10];
    char message[1024];
    int serviceResult;

    printf("Starting client\n");

    if(enet_initialize() != 0)
    {
	printf("Error initialising enet\n");
	exit(1);
    }

    client = enet_host_create(NULL, 1, 2, 57600 / 8, 14400 / 8);

    if(!client)
    {
	printf("Could not create client host.\n");
	exit(1);
    }

    enet_address_set_host(&address, "192.168.1.11");
    address.port = 4321;

    peer = enet_host_connect(client, &address, 2, 0);

    if(peer == NULL)
    {
	printf("No available peers for initiating an ENet connection.\n");
	exit(1);
    }

    /* Try to connect to server within 5 seconds */
    if(enet_host_service(client, &event, 5000) > 0
	&& event.type == ENET_EVENT_TYPE_CONNECT)
    {
	printf("Connection to server succeeded.\n");
    }
    else
    {
	enet_peer_reset(peer);

	printf("Connection to server failed.\n");
	exit(1);
    }

    while(1)
    {
	serviceResult = 1;
	while(serviceResult > 0)
	{
	    serviceResult = enet_host_service (client, &event, 0);

	    if(serviceResult > 0)
	    {
		switch(event.type)
		{
		case ENET_EVENT_TYPE_CONNECT:
		    printf("A new client connected from %x:%u.\n",
			event.peer->address.host,
			event.peer->address.port);

		    event.peer->data = (void*)"New User";
		    break;
		case ENET_EVENT_TYPE_RECEIVE:


		    sscanf((const char*)event.packet->data, "%d %d", &x, &y);

		    printf ("data = '%s', x = %d, y = %d, delka paketu = %u, od %s na kanalu %u.\n",
			event.packet->data, x, y, event.packet->dataLength, event.peer->data, event.channelID);


		    enet_packet_destroy (event.packet);
		    break;
		case ENET_EVENT_TYPE_DISCONNECT:
		    printf("%s disconected.\n", event.peer->data);
		    break;
		}
	    }
	    else if(serviceResult < 0)
	    {
		printf("Error with servicing the client");
		exit(1);
	    }
	}
	x += 1;
	y += 1;

	sprintf(message, "%d %d",x , y);

	if(x > 1000) break;

	if(strcmp(message, "x = 1000, y = 1000") == 0 || strcmp(message, "quit") == 0)
	{
	    break;
	}

	if(strlen(message) > 0)
	{
	    ENetPacket *packet = enet_packet_create(message, strlen(message) + 1, ENET_PACKET_FLAG_RELIABLE);
	    enet_peer_send(peer, 0, packet);
	}
    }

    enet_peer_disconnect (peer, 0);

    while(enet_host_service(client, &event, 3000) > 0)
    {
	switch(event.type)
	{
	case ENET_EVENT_TYPE_RECEIVE:
	    enet_packet_destroy (event.packet);
	    break;
	case ENET_EVENT_TYPE_DISCONNECT:
	    printf("Disconnection succeeded.\n");
	    break;
	}
    }

    enet_host_destroy(client);
    enet_deinitialize();

    return 0;
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý