mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2025-07-03 00:05:34 +00:00
high accuracy ping + cleanup
This commit is contained in:
parent
5cb43950eb
commit
b5dbb70104
@ -1,24 +1,28 @@
|
||||
//
|
||||
// Created by Anonymous275 on 2/4/2020.
|
||||
//
|
||||
///
|
||||
/// Created by Anonymous275 on 2/4/2020.
|
||||
///
|
||||
|
||||
#include "enet.h"
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
void NameRequest(ENetPeer*peer){
|
||||
ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client
|
||||
strlen ("NameRequest") + 1,
|
||||
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
|
||||
enet_peer_send(peer, 0, packet);
|
||||
}
|
||||
void Respond(const std::string& MSG, ENetPeer*peer){
|
||||
enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE));
|
||||
}
|
||||
|
||||
void SendToAll(ENetHost *server,ENetEvent event){
|
||||
ENetPacket* packet;
|
||||
for (int i = 0; i < server->connectedPeers; i++) {
|
||||
//if (&server->peers[i] != event.peer) { if you don't want to send it to the person ho just connected
|
||||
char Data[500];
|
||||
sprintf(Data,"There is %d Players Connected!",server->connectedPeers);
|
||||
sprintf(Data,"There is %zu Players Connected!",server->connectedPeers);
|
||||
printf("test %d\n",server->peers[i].serverVehicleID);
|
||||
|
||||
packet = enet_packet_create(Data, strlen(Data)+1, 0);
|
||||
@ -29,3 +33,10 @@ void SendToAll(ENetHost *server,ENetEvent event){
|
||||
}
|
||||
}
|
||||
|
||||
void OnConnect(ENetPeer*peer){
|
||||
ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client
|
||||
strlen ("NameRequest") + 1,
|
||||
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
|
||||
enet_peer_send(peer, 0, packet);
|
||||
std::cout << "ID : " << peer->serverVehicleID << std::endl;
|
||||
}
|
||||
|
@ -8,21 +8,9 @@
|
||||
#include <vector>
|
||||
#include "../logger.h"
|
||||
|
||||
std::vector<std::string> Split(const std::string& String,const std::string& delimiter);
|
||||
|
||||
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
|
||||
void Respond(const std::string& MSG, ENetPeer*peer);
|
||||
void ParseData(ENetPacket*packet, ENetPeer*peer){
|
||||
std::string Packet = (char*)packet->data;
|
||||
int off = stoi(Packet.substr(0, 2));
|
||||
std::string header = Packet.substr(2, off - 2), data = Packet.substr(off);
|
||||
std::vector<std::string> split;
|
||||
|
||||
if(!header.empty()) {
|
||||
std::cout << header << " header size : " << header.size() << std::endl;
|
||||
split = Split(header, ":"); //1st is reliable - 2nd is Code - 3rd is VehID
|
||||
}
|
||||
if(!data.empty()){
|
||||
std::cout << data << std::endl;
|
||||
std::cout << "Ping : " << peer->ping << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
if(Packet == "p"){Respond("p",peer);return;}
|
||||
std::cout << "Data : " << Packet << std::endl;
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
///
|
||||
/// Created by Anonymous275 on 4/1/2020
|
||||
///
|
||||
#include "enet.h"
|
||||
#include <vector>
|
||||
#include "../logger.h"
|
||||
|
||||
#include <vector>
|
||||
std::vector<std::string> Split(const std::string& String,const std::string& delimiter){
|
||||
std::vector<std::string> Val;
|
||||
size_t pos = 0;
|
||||
@ -17,11 +15,3 @@ std::vector<std::string> Split(const std::string& String,const std::string& deli
|
||||
Val.push_back(s);
|
||||
return Val;
|
||||
}
|
||||
|
||||
void OnConnect(ENetPeer*peer){
|
||||
ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client
|
||||
strlen ("NameRequest") + 1,
|
||||
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
|
||||
enet_peer_send(peer, 0, packet);
|
||||
std::cout << "ID : " << peer->serverVehicleID << std::endl;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user