My Project
Loading...
Searching...
No Matches
ClientClassTcp Class Reference

کلاس مدیریت اتصال در سمت کلاینت More...

#include <clientclass.h>

Collaboration diagram for ClientClassTcp:

Public Member Functions

 ClientClassTcp ()
 سازندهٔ پیش‌فرض کلاس مدیریت اتصال کلاینت
void handle_client_request (int codeMessageIS, QStringList parametersIS)
 ارسال درخواست به سرور و پردازش پاسخ دریافتی

Public Attributes

quint16 _serverPort
 شماره پورت سرور هدف
QString _serverIP = ""
 آی‌پی سرور هدف
QString _userName = ""
 نام کاربری برای ورود
QString _passWord = ""
 رمز عبور برای ورود
QString token = ""
 توکن احراز هویت دریافتی از سرور پس از ورود موفق
QList< int > server_anserData
 پاسخ سرور
bool Connection = false
 وضعیت اتصال به سرور
bool passwordAndUsername = false
 وضعیت اعتبارسنجی نام کاربری و رمز عبور

Private Member Functions

bool isValidIp ()
 بررسی معتبر بودن آی‌پی
bool isValidPort ()
 بررسی معتبر بودن شماره پورت
bool canConnectToServer ()
 بررسی امکان اتصال به سرور
QString send_client_request ()
 ارسال درخواست به سرور و دریافت پاسخ

Private Attributes

generateMessage _generater
 تولید کننده پیام برای ساخت و ارسال درخواست‌های کلاینت

Detailed Description

کلاس مدیریت اتصال در سمت کلاینت

اطلاعت کاربر و سرور را صحت‌سنجی و در خود ذخیره می‌کند
همچنین امکان ارسال درخواست به سرور و تحلیل پاسخ دریافتی را فراهم می‌سازد

Constructor & Destructor Documentation

◆ ClientClassTcp()

ClientClassTcp::ClientClassTcp ( )

سازندهٔ پیش‌فرض کلاس مدیریت اتصال کلاینت

این سازنده به‌صورت پیشفرض آی‌پی سرور را براربر با ۱۲۷/۰/۰/۲ و شماره درگاه را برابر با ۱۲۳۴۵ تنظیم می‌کند

Member Function Documentation

◆ canConnectToServer()

bool ClientClassTcp::canConnectToServer ( )
private

بررسی امکان اتصال به سرور

این تابع تلاش می‌کند به آی‌پی و پورت مشخص شده برای سرور اتصال برقرارکند

Returns
وضعیت اتصال (true: موفق، false: ناموفق)
Here is the call graph for this function:

◆ handle_client_request()

void ClientClassTcp::handle_client_request ( int codeMessageIS,
QStringList parametersIS )

ارسال درخواست به سرور و پردازش پاسخ دریافتی

این تابع بر اساس کد پیام و پارامترهای ورودی، پیامی برای سرور تولید و ارسال می‌کند

  • اگر کد پیام برابر با ۱ باشد: درخواست احراز هویت ارسال شده در صورت ورود موفق
    توکن دریافتی ذخیره می‌گردد و وضعیت ورود تأیید می‌شود
  • اگر کد پیام برابر با ۲ باشد: درخواست داده ارسال شده و پاسخ عددی سرور تجزیه شده و به‌صورت لیستی از اعداد ذخیره می‌گردد
  • در صورت عدم دریافت پاسخ یا قطع ارتباط، وضعیت اتصال غیرفعال می‌شود
Parameters
codeMessageISکد نوع پیام (برای تعیین نوع درخواست به سرور)
parametersISلیستی از پارامترهای مورد نیاز برای تشکیل پیام ارسالی
Here is the call graph for this function:

◆ isValidIp()

bool ClientClassTcp::isValidIp ( )
private

بررسی معتبر بودن آی‌پی

Returns
(true: موفق، false: ناموفق)
Here is the caller graph for this function:

◆ isValidPort()

bool ClientClassTcp::isValidPort ( )
private

بررسی معتبر بودن شماره پورت

Returns
(true: موفق، false: ناموفق)
Here is the caller graph for this function:

◆ send_client_request()

QString ClientClassTcp::send_client_request ( )
private

ارسال درخواست به سرور و دریافت پاسخ

بررسی امکان اتصال به سرور
سپس پیامی که توسط مولد پیام تولید شده را به سرور ارسال می‌کند
پس از ارسال، تا ۳ ثانیه منتظر دریافت پاسخ می‌ماند اگر پاسخ دریافت شود، آن را بازمی‌گرداند در غیر این صورت، پیغام خطای مربوطه برگشت داده می‌شود

Returns
پاسخ دریافتی از سرور به‌صورت رشته در صورت عدم موفقیت، یکی از پیام‌های خطا مانند:
  • "Connection failed"
  • "time out from server"
Here is the caller graph for this function:

Member Data Documentation

◆ Connection

bool ClientClassTcp::Connection = false

وضعیت اتصال به سرور

اگر کلاینت با موفقیت به سرور متصل شده باشد، مقدار این متغیر برابر با «درست» خواهد بود
در غیر این صورت، مقدار آن «نادرست» است

◆ passwordAndUsername

bool ClientClassTcp::passwordAndUsername = false

وضعیت اعتبارسنجی نام کاربری و رمز عبور

اگر ورود کاربر با موفقیت انجام شود (نام کاربری و رمز صحیح باشند)
مقدار این متغیر «درست» خواهد بود؛ در غیر این صورت، «نادرست» باقی می‌ماند


The documentation for this class was generated from the following files:
  • C:/Users/sina/Desktop/کارآموزی cpp/تمرین اول/gitHub/Socket_Programming/client/clientclass.h
  • C:/Users/sina/Desktop/کارآموزی cpp/تمرین اول/gitHub/Socket_Programming/client/clientclass.cpp