Closed yov3v closed 2 years ago
It seems there's no event happening so it prints out "CONNECTION FAILED"..
ChatClient.cpp
#include <iostream> #include <enet/enet.h> int main() { if (enet_initialize() != 0) { fprintf(stderr, "An error occurred while initializing ENet.\n"); } atexit(enet_deinitialize); ENetHost* client; client = enet_host_create(NULL, 1, 2, 0, 0); if (client == NULL) { fprintf(stderr, "An error occurred while trying to create an ENet client host.\n"); } ENetAddress address; ENetPeer* peer; enet_address_set_host(&address, "127.0.0.1"); address.port = 7777; peer = enet_host_connect(client, &address, 1, 0); if (peer == NULL) { fprintf(stderr, "No available peers for initiating an ENet connection!"); } ENetEvent event; if (enet_host_service(client, &event, 5000) > 0 ) //&& event.type == ENET_EVENT_TYPE_CONNECT { printf("CONNECTED!"); } else { enet_peer_reset(peer); printf("CONNECTION FAILED!"); } while (enet_host_service(client, &event, 1000) > 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); break; case ENET_EVENT_TYPE_RECEIVE: printf("A packet of length %u containing %s was received from %u:%u on channel %u.\n", event.packet->dataLength, event.packet->data, event.peer->address.host, event.peer->address.port, event.channelID); break; } } 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: puts("Disconnection succeeded."); return EXIT_SUCCESS; } } }
ChatServer.cpp
#include <iostream> #include <enet/enet.h> int main() { if (enet_initialize() != 0) { fprintf(stderr, "An error occurred while initializing ENet.\n"); return EXIT_FAILURE; } atexit(enet_deinitialize); ENetAddress address; enet_address_set_host(&address, "127.0.0.1"); address.port = 7777; ENetHost* server; server = enet_host_create(&address, 32, 1, 0, 0); if (server == NULL) { fprintf(stderr, "An error occurred while trying to create an ENet server host.\n"); exit(EXIT_FAILURE); } ENetEvent event{}; while (true) //enet_host_service(server, &event, 1000) > 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); break; case ENET_EVENT_TYPE_RECEIVE: printf("A packet of length %u containing %s was received from %x:%u on channel %u.\n", event.packet->dataLength, event.packet->data, event.peer->address.host, event.peer->address.port, event.channelID); break; case ENET_EVENT_TYPE_DISCONNECT: printf("%u:%u disconnected.\n", event.peer->address.host, event.peer->address.port); } } enet_host_destroy(server); }
You're not calling enet_host_service on the server at all.
It seems there's no event happening so it prints out "CONNECTION FAILED"..
ChatClient.cpp
ChatServer.cpp