Hi i have q how i create a multithread socket for this code ?
??
Code:
#pragma comment(lib,"ws2_32.lib")
#include <WinSock2.h>
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <string>
#include <sstream>
#include "TwojeImie.h"
using namespace std;
std::string decrypt(std::string str,int size);
std::string EncryptLoginPacket(std::string str);
std::string GetPasswordString(std::string str);
void main()
{
WSAData wsa;
WORD Version = MAKEWORD(2,1);
WSAStartup(Version, &wsa);
SOCKET Listen = socket(AF_INET, SOCK_STREAM, 0);
SOCKET Connect = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN Server;
char ip[14] = "5.211.100.16";
int port = 4001;
Server.sin_addr.s_addr = inet_addr(ip);
Server.sin_family = AF_INET;
Server.sin_port = htons(port);
bind(Listen, (SOCKADDR*)&Server, sizeof(Server));
listen(Listen, 1);
int size = sizeof(Server);
std::cout << "--------------------------------------------------------------------------------"
<< ""
<< " Server connected." << std::endl
<< " Host: " << ip << " : " << port << std::endl
<< "--------------------------------------------------------------------------------" << std::endl;
for(;;){
if(Connect = accept(Listen, (SOCKADDR*)&Server, &size)){
std::cout << "Connection accepted from: " << inet_ntoa(Server.sin_addr) << std::endl;
int sizes;
char recvbuf[512];
sizes = recv(Connect,recvbuf,512,0);
std::string Packet;
for(int i =0; i < sizes;i++){Packet += (int)recvbuf[i] - 0xf ^0xc3;}
std::cout << Packet << std::endl;
std::string fail = "NsTest 7998 5.211.100.16:1337:0:1.0.NosPriv -1:-1:-1";
send(Connect,EncryptLoginPacket(fail).c_str(), EncryptLoginPacket(fail).length() +1,0);
}
}
WSACleanup();
std::cin.get();
std::string fail = "Złe ID lub Hasło";
send(Connect,fail.c_str(),fail.size(),0);
}
std::string decrypt(std::string str,int size)
{
std::string decrypted_string;
for (int i = 0; i < size; i++) { decrypted_string += str[i] - 0xF ^ 0xC3; }
return decrypted_string;
}
std::string EncryptLoginPacket(std::string str)
{
std::string encrypted_string;
for (int i = 0; i < str.length(); i++) { encrypted_string += str[i] + 0xF; }
return encrypted_string += 0x19;
}
std::string GetPasswordString(std::string str)
{
std::string decrypted_string;
int count = 1;
int convert;
if (str.length() %2 == 0)
{
str.erase(0, 3);
} else
{
str.erase(0, 4);
}
for (int i = 0; i < str.length(); i+=2)
{
decrypted_string += str[i];
if (count %2 == 0)
{
decrypted_string += ' ';
}
count++;
}
std::stringstream ss(decrypted_string);
decrypted_string.clear();
while (ss >> std::hex >> convert)
{
decrypted_string.push_back(convert);
}
return decrypted_string;
}