Enet.bespin.org/ knihovny pro multiplayer v c/c++ na win 7 – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Enet.bespin.org/ knihovny pro multiplayer v c/c++ na win 7 – C / C++ – Fórum – Programujte.comEnet.bespin.org/ knihovny pro multiplayer v c/c++ na win 7 – C / C++ – Fórum – Programujte.com

 

Sevcik
~ Anonymní uživatel
1 příspěvek
8. 2. 2013   #1
-
0
-

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;
}
Nahlásit jako SPAM
IP: 88.100.170.–
liborb
~ Redaktor
+18
Guru
12. 2. 2013   #2
-
0
-

Tu knihovnu neznám, ale hlavičkové soubory (.h) se kopírují někam, kde tvůj kompilátor hlavičkové soubory hledá resp. nastaví se mu další cesta, kde má ty nové hledat. Stejné je to pro linker s .lib soubory. No a knihovny dll můžeš ve výsledku přidat do adresáře s exe souborem.

Nahlásit jako SPAM
IP: 188.75.135.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Moderátoři diskuze

 

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