Files
Archive/netch/Redirector/SocksHelper.h
2024-03-05 02:32:38 -08:00

46 lines
874 B
C++

#pragma once
#ifndef SOCKSHELPER_H
#define SOCKSHELPER_H
#include "Based.h"
namespace SocksHelper
{
SOCKET Connect();
bool Handshake(SOCKET client);
bool SplitAddr(SOCKET client, PSOCKADDR_IN6 addr);
typedef class TCP
{
public:
~TCP();
bool Connect(PSOCKADDR_IN6 target);
int Send(const char* buffer, int length);
int Read(char* buffer, int length);
SOCKET tcpSocket = INVALID_SOCKET;
} *PTCP;
typedef class UDP
{
public:
~UDP();
static void Run(SOCKET tcpSocket, SOCKET udpSocket);
bool Associate();
bool CreateUDP();
int Send(PSOCKADDR_IN6 target, const char* buffer, int length);
int Read(PSOCKADDR_IN6 target, char* buffer, int length, PTIMEVAL timeout);
SOCKET tcpSocket = INVALID_SOCKET;
SOCKET udpSocket = INVALID_SOCKET;
SOCKADDR_IN6 address = { 0 };
} *PUDP;
};
#endif