mirror of
https://github.com/BeamMP/BeamMP-Launcher.git
synced 2025-07-01 15:36:10 +00:00
Fixed ? ping
This commit is contained in:
parent
cf13396c96
commit
d5466bb68a
@ -16,6 +16,7 @@ extern std::string MStatus;
|
||||
extern std::string UlStatus;
|
||||
extern std::string ListOfMods;
|
||||
void UDPSend(std::string Data);
|
||||
int KillSocket(uint64_t Dead);
|
||||
void CoreNetwork();
|
||||
void GameSend(std::string Data);
|
||||
void SendLarge(std::string Data);
|
||||
|
@ -128,7 +128,7 @@ void GameHandler(SOCKET Client){
|
||||
if(Temp < 1)break;
|
||||
if(!isdigit(Header[Rcv]) && Header[Rcv] != '>') {
|
||||
error(Sec("(Core) Invalid lua communication"));
|
||||
closesocket(Client);
|
||||
KillSocket(Client);
|
||||
return;
|
||||
}
|
||||
}while(Header[Rcv++] != '>');
|
||||
@ -155,7 +155,7 @@ void GameHandler(SOCKET Client){
|
||||
} else {
|
||||
debug(Sec("(Core) recv failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
}
|
||||
closesocket(Client);
|
||||
KillSocket(Client);
|
||||
}
|
||||
void localRes(){
|
||||
MStatus = " ";
|
||||
@ -197,7 +197,7 @@ void CoreMain() {
|
||||
if (iRes == SOCKET_ERROR) {
|
||||
error(Sec("(Core) bind failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
freeaddrinfo(res);
|
||||
closesocket(LSocket);
|
||||
KillSocket(LSocket);
|
||||
WSACleanup();
|
||||
return;
|
||||
}
|
||||
@ -205,7 +205,7 @@ void CoreMain() {
|
||||
if (iRes == SOCKET_ERROR) {
|
||||
debug(Sec("(Core) listen failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
freeaddrinfo(res);
|
||||
closesocket(LSocket);
|
||||
KillSocket(LSocket);
|
||||
WSACleanup();
|
||||
return;
|
||||
}
|
||||
@ -220,7 +220,7 @@ void CoreMain() {
|
||||
GameHandler(CSocket);
|
||||
warn(Sec("Game Reconnecting..."));
|
||||
}while(CSocket);
|
||||
closesocket(LSocket);
|
||||
KillSocket(LSocket);
|
||||
WSACleanup();
|
||||
}
|
||||
int Handle(EXCEPTION_POINTERS *ep){
|
||||
|
@ -18,6 +18,11 @@ extern SOCKET UDPSock;
|
||||
extern SOCKET TCPSock;
|
||||
SOCKET CSocket;
|
||||
|
||||
int KillSocket(uint64_t Dead){
|
||||
shutdown(Dead,SD_BOTH);
|
||||
return closesocket(Dead);
|
||||
}
|
||||
|
||||
bool CheckBytes(uint32_t Bytes){
|
||||
if(Bytes == 0){
|
||||
debug(Sec("(Proxy) Connection closing"));
|
||||
@ -72,15 +77,20 @@ void ServerSend(std::string Data, bool Rel){
|
||||
//debug("(Game->Launcher) : " + Data);
|
||||
}
|
||||
}
|
||||
|
||||
void NetReset(){
|
||||
TCPTerminate = false;
|
||||
GConnected = false;
|
||||
Terminate = false;
|
||||
UlStatus = Sec("Ulstart");
|
||||
MStatus = " ";
|
||||
if(UDPSock != SOCKET_ERROR)closesocket(UDPSock);
|
||||
if(UDPSock != SOCKET_ERROR){
|
||||
KillSocket(UDPSock);
|
||||
}
|
||||
UDPSock = -1;
|
||||
if(TCPSock != SOCKET_ERROR)closesocket(TCPSock);
|
||||
if(TCPSock != SOCKET_ERROR){
|
||||
KillSocket(TCPSock);
|
||||
}
|
||||
TCPSock = -1;
|
||||
ClearAll();
|
||||
}
|
||||
@ -117,7 +127,7 @@ SOCKET SetupListener(){
|
||||
if (iRes == SOCKET_ERROR) {
|
||||
error(Sec("(Proxy) bind failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
freeaddrinfo(result);
|
||||
closesocket(LSocket);
|
||||
KillSocket(LSocket);
|
||||
WSACleanup();
|
||||
return -1;
|
||||
}
|
||||
@ -125,7 +135,7 @@ SOCKET SetupListener(){
|
||||
iRes = listen(LSocket, SOMAXCONN);
|
||||
if (iRes == SOCKET_ERROR) {
|
||||
error(Sec("(Proxy) listen failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
closesocket(LSocket);
|
||||
KillSocket(LSocket);
|
||||
WSACleanup();
|
||||
return -1;
|
||||
}
|
||||
@ -236,5 +246,5 @@ void TCPGameServer(const std::string& IP, int Port){
|
||||
if(LSocket == -1){
|
||||
UlStatus = Sec("Critical error! check the launcher logs");
|
||||
}
|
||||
if(CSocket != SOCKET_ERROR)closesocket(CSocket);
|
||||
if(CSocket != SOCKET_ERROR)KillSocket(CSocket);
|
||||
}
|
@ -47,7 +47,7 @@ void STCPSendRaw(SOCKET socket,const std::vector<char>& Data){
|
||||
}
|
||||
else if (BytesSent < 0) {
|
||||
debug(Sec("(TCP) send failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
closesocket(socket);
|
||||
KillSocket(socket);
|
||||
Terminate = true;
|
||||
return;
|
||||
}
|
||||
@ -67,7 +67,7 @@ std::pair<char*,size_t> STCPRecv(SOCKET socket){
|
||||
return std::make_pair((char*)"",0);
|
||||
}else if (BytesRcv < 0) {
|
||||
info(Sec("(TCP) recv failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
closesocket(socket);
|
||||
KillSocket(socket);
|
||||
Terminate = true;
|
||||
return std::make_pair((char*)"",0);
|
||||
}
|
||||
@ -115,7 +115,7 @@ void Check(Hold* S){
|
||||
std::this_thread::sleep_for(std::chrono::seconds(5));
|
||||
if(S != nullptr){
|
||||
if(!S->Done && S->TCPSock != -1){
|
||||
closesocket(S->TCPSock);
|
||||
KillSocket(S->TCPSock);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -218,6 +218,6 @@ void UDPClientMain(const std::string& IP,int Port){
|
||||
TCPSend(Sec("P"));
|
||||
UDPSend(Sec("p"));
|
||||
while(!Terminate)UDPRcv();
|
||||
closesocket(UDPSock);
|
||||
KillSocket(UDPSock);
|
||||
WSACleanup();
|
||||
}
|
@ -20,7 +20,7 @@ bool CheckBytes(int32_t Bytes){
|
||||
return false;
|
||||
}else if (Bytes < 0) {
|
||||
debug(Sec("(TCP) recv failed with error: ") + std::to_string(WSAGetLastError()));
|
||||
closesocket(TCPSock);
|
||||
KillSocket(TCPSock);
|
||||
Terminate = true;
|
||||
return false;
|
||||
}
|
||||
@ -107,7 +107,7 @@ void TCPClientMain(const std::string& IP,int Port){
|
||||
if(RetCode != 0){
|
||||
UlStatus = Sec("UlConnection Failed!");
|
||||
std::cout << Sec("Client: connect failed! Error code: ") << WSAGetLastError() << std::endl;
|
||||
closesocket(TCPSock);
|
||||
KillSocket(TCPSock);
|
||||
WSACleanup();
|
||||
Terminate = true;
|
||||
return;
|
||||
@ -118,7 +118,7 @@ void TCPClientMain(const std::string& IP,int Port){
|
||||
while(!Terminate)TCPRcv();
|
||||
GameSend(Sec("T"));
|
||||
////Game Send Terminate
|
||||
if(closesocket(TCPSock) != 0)
|
||||
if(KillSocket(TCPSock) != 0)
|
||||
debug(Sec("(TCP) Cannot close socket. Error code: ") + std::to_string(WSAGetLastError()));
|
||||
|
||||
if(WSACleanup() != 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user