Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2011, 09:28   #11
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию

mss, посмотри пожалуйсто наличие ошибок, вот Практически весь (опустил только переменные и функции не относящиеся к сокетам, чтобы уменьшить размер) код:
Client Program:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ScktComp, registry, jpeg, idGlobal, ShellApi,
  sSkinProvider, sSkinManager, sMemo, sEdit;


type
  TClient = class(TForm)
    ClientS: TClientSocket;
    Image1: TImage;
    ConnectToServer: TButton;
    ClientTimer: TTimer;
    ConnectActiveTimer: TTimer;
    PortEdit: TEdit;
    StaticText1: TLabel;
    ClientConsole: TsMemo;
    sSkinManager1: TsSkinManager;
    sSkinProvider1: TsSkinProvider;
    Memo1: TsMemo;
    Send: TButton;
    ConsoleEdit: TsEdit;
    ResetServer: TButton;
    ShutDown: TButton;
    PassWordEdit: TEdit;
    PasswordButton: TButton;
    debugServer: TButton;
    RunServer: TButton;
    procedure ConnectToServerClick(Sender: TObject);
    procedure ClientSConnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure ClientSConnecting(Sender: TObject; Socket: TCustomWinSocket);
    procedure ClientSDisconnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure ClientSError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ClientSWrite(Sender: TObject; Socket: TCustomWinSocket);
    procedure ClientSRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure ClientTimerTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure GetDirSize(const aPath: string; var SizeDir: Int64);
    procedure ConnectActiveTimerTimer(Sender: TObject);
    function Find(s: string): hWnd;
    procedure PortEditKeyPress(Sender: TObject; var Key: Char);
    procedure SendClick(Sender: TObject);
    procedure ResetServerClick(Sender: TObject);
    procedure ShutDownClick(Sender: TObject);
    procedure PasswordButtonClick(Sender: TObject);
    procedure debugServerClick(Sender: TObject);
    procedure RunServerClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  const  Key = 'Software\Client';
  const Version='1.3|';

var
  Client: TClient;
  Reason:string;
  Cheater:boolean;
  Files:string;
  PlayerName:string;
  Registry: TRegistry;
  Badfiles: array[0..7] of string;
  DataHackFiles:array[0..47,0..3] of string;
  GoodFolders: array[0..19] of string;
  MapFolderHack: array[0..2] of string;
  DataFiles:string;
  ScriptFiles:string;
  ScriptFolderHack: array[0..2] of string;
  CheatProgs: array[0..24] of string;
  TimeToActive:integer;
  Activation:integer;
  h : THandle;
  Connected:boolean;
  Keyy : HKey; { Handle для работы с разделом }

implementation

{$R *.dfm}



procedure TClient.ClientSConnect(Sender: TObject; Socket: TCustomWinSocket);
var
len:integer;
i:integer;
f:file of byte;
SizeDir: Int64;
window:HWND;
begin
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] Присоединились...');
Registry := TRegistry.Create;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey(Key,true);
if Registry.ValueExists('client_exe') then
begin
//////
GTAFiles:=Registry.ReadString('client_exe');
len:=Length(Files);
Delete(Files,len-10,11);
DataFiles:=Files+'\Data';
SetCurrentDir(DataFiles);
for i:= 0 to 47 do
begin
if fileexists(DataHackFiles[i][0]) then
begin
AssignFile(f,DataHackFiles[i][0]);
Reset(f);
DataHackFiles[i][2] := inttostr(FileSize(f));
CloseFile(f);
if DataHackFiles[i][1]<>DataHackFiles[i][2]  then
begin
ClientConsole.lines.add('['+TimeToStr(Time)+'] '+'"'+'Data\'+DataHackFiles[i][0]+'"'+' поврежден, GameDataInfo Хак... Читер!');
cheater:=true;
end;
end;
end;
PlayerName:=Registry.ReadString('PlayerName');
if PlayerName='' then
begin
PlayerName:='NoFined###';
end;
ClientConsole.Lines.Add('['+TimeToStr(Time)+']'+' Имя игрока='+PlayerName);
StaticText1.Caption:=Files;
Registry.CloseKey;
Registry.Free;
SetCurrentDir(Files);
if DirectoryExists('syka') then
begin
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] '+'"'+'syka'+'"'+' папка обнаружена! Удалите!!!');
Cheater:=true;
end;
////////////////////
if Cheater=True then
begin
ClientS.Socket.SendText(UnicodeString(PlayerName+'|'+'Cheater|'+Version));
memo1.Font.Color:=clMaroon;
clienttimer.Enabled:=false;
end
else
begin
ClientS.Socket.SendText(UnicodeString(PlayerName+'|'+'Normal|'+Version));
//ClientTimer.Enabled:=true;
clienttimer.Enabled:=true;
memo1.Font.Color:=clGreen;
end;
end
else
begin
PlayerName:='NoFined###';
ClientConsole.Lines.Add('['+TimeToStr(Time)+']'+' Имя игрока='+PlayerName);
ClientS.Socket.SendText(UnicodeString(PlayerName+'|'+'Cheater|'+Version));
StaticText1.Caption:='клиент не обнаружен';
end;
end;
Каждый день узнаю новое...

Последний раз редактировалось Anton911; 27.08.2011 в 09:49.
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 09:28   #12
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию продолжение клиент кода

Продолжение:

Код:
procedure TClient.ClientSDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
memo1.Font.Color:=clNavy;
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] Отключились...');
end;
procedure TClient.ClientSError(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  {$I-}
     try
  case ErrorCode of
10061 or 10051 or 10065:
begin
ClientS.Active:=false; ClientConsole.Lines.add('['+TimeToStr(Time)+'] Ошибка: Сервер отсутствует.');
ClientConsole.Lines.add('['+TimeToStr(Time)+'] Убедитесь, что клиент не блокируется антивирусом, фаерволом и ему дан доступ в реестр.');
end;
10053:
begin ClientS.Active:=false; ClientConsole.Lines.add('['+TimeToStr(Time)+'] Ошибка: Сервер был отключен.');
ClientConsole.Lines.add('['+TimeToStr(Time)+'] Перезайдите, через некоторое время.');
end;
else
begin ClientS.Active:=false;
ClientConsole.Lines.add('['+TimeToStr(Time)+'] Ошибка: '+inttostr(errorCode));
end;
  end;
finally
  socket.Close;
  ErrorCode := 0;
  memo1.Font.Color:=clMaroon;
    end;
  {$I+}
end;

procedure TClient.ClientSRead(Sender: TObject; Socket: TCustomWinSocket);
var   len:integer;
  sss:Ansistring;
begin
SetLength(sss, Socket.ReceiveLength);
SetLength(sss, Socket.ReceiveBuf(Pointer(sss)^, Length(sss)));
len:=Length(sss);
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] '+sss);
end;

procedure TClient.ClientSWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] Передача информации на сервер...');
end;

procedure TClient.ConnectToServerClick(Sender: TObject);
begin
if PortEdit.Text='' then
begin
ShowMessage('Введите порт!');
end
else
begin
Registry := TRegistry.Create;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey(Key, True);
Registry.WriteInteger('Port', strtoint(PortEdit.text));
Registry.Free;
Registry.CloseKey;
ClientS.Port:=strtoint(PortEdit.Text);
ClientS.Active:=true;
Connected:=true;
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] Активация...');
ClientConsole.Lines.Add('['+TimeToStr(Time)+'] Канал-> '+ClientS.Address+':'+inttostr(ClientS.Port));
ConnectToServer.Enabled:=false;
end;
end;


procedure TClient.FormCreate(Sender: TObject);
var window:HWND;
begin
Activation:=2;
Constraints.MaxHeight:=373;
Constraints.MinHeight:=373;
Constraints.MaxWidth:=428;
Constraints.MinWidth:=428;
TimeToActive:=5;
Registry := TRegistry.Create;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey(Keyy, True);
if Registry.ValueExists('Port') then
begin
PortEdit.text := inttostr(Registry.ReadInteger('Port'));
end;
Registry.CloseKey;
ConnectActiveTimer.enabled:=true;
ConnectToServer.Enabled:=false;
ConnectToServer.Caption:=inttostr(TimeToActive);
window:=Find(Client.Caption);
if window<>0 then
begin
ShowMessage('Более одного раза запустить нельзя!');
Application.Terminate;
end;
end;

procedure TClient.ShutDownClick(Sender: TObject);
begin
Clients.Socket.SendText('/shutdown');
if Connected=true then
begin
ShutDown.Enabled:=false;
RunServer.Enabled:=true;
end;
clientconsole.Lines.Add('['+TimeToStr(Time)+']'+' Введена команда /shutdown');
//Connecttoserver.Enabled:=true;
end;

end;
Каждый день узнаю новое...

Последний раз редактировалось Anton911; 27.08.2011 в 10:20.
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 09:42   #13
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию Код сервера

Server Program:

Код:
unit Unit1;

interface

uses
  Windows, SysUtils, Messages, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ScktComp, DB, MConnect, SConnect, Registry,
  jpeg, FileCtrl, DBTables, ShellAPI, Grids, Buttons, sSkinProvider, sSkinManager, sMemo;

type
  Server = class(TForm)
    ServerS: TServerSocket;
    Image1: TImage;
    ServerON: TButton;
    ServerOff: TButton;
    ServerTimer: TTimer;
    PlayersCount: TEdit;
    PortEdit: TEdit;
    Connections: TButton;
    sSkinManager1: TsSkinManager;
    sSkinProvider1: TsSkinProvider;
    ServerConsole: TsMemo;
    Memo1: TsMemo;
    StaticText1: TLabel;
    procedure ServerONClick(Sender: TObject);
    procedure ServerSClientError(Sender: TObject;
      Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
    procedure ServerSClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSAccept(Sender: TObject; Socket: TCustomWinSocket);
    procedure ServerSListen(Sender: TObject; Socket: TCustomWinSocket);
    procedure ServerOffClick(Sender: TObject);
    procedure ServerSGetThread(Sender: TObject;
      ClientSocket: TServerClientWinSocket;
      var SocketThread: TServerClientThread);
    procedure ServerSClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure FormCreate(Sender: TObject);
   procedure RemoveAll(path: string);
    procedure PortEditKeyPress(Sender: TObject; var Key: Char);
    procedure ConnectionsClick(Sender: TObject);
    function Find(s: string): hWnd;
    procedure ServerSClientConnect(Sender: TObject; Socket: TCustomWinSocket);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TUser = class
  Number: Cardinal;
  Socket : Pointer;
  Name:string;
  Cheater:string;
  CountLines:integer;
  SuperInf:Ansistring;
  Version:string;
  end;


var
  Server: TAntiCheatGTA;
  ServerFile: Textfile;
  ServerPath:string;
  ActiveConnections : Cardinal;
  h : THandle;
  ServerOffed:boolean;
  debug:boolean;




    const  Key = 'Software\Server';
    const  FoldeServer='scriptfiles\ServerSystem\';
    const  Version='1.3';


implementation

uses Unit2;

{$R *.dfm}


procedure TServer.ConnectionsClick(Sender: TObject);
begin
Server.Hide;
Server2.Show;
end;

procedure TServer.FormCreate(Sender: TObject);
var Key : HKey;
  Registry: TRegistry;
  len:integer;
  window:HWND;
begin
serveroffed:=false;
Constraints.MaxHeight:=435;
Constraints.MinHeight:=435;
Constraints.MaxWidth:=450;
Constraints.MinWidth:=450;
window:=Find('Server v.1.3');
if window<>0 then
begin
ShowMessage('Более одного раза запустить нельзя!');
Application.Terminate;
end;
ActiveConnections:=0;
PlayersCount.Text:='0';
Registry := TRegistry.Create;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey(Key,true);
if Registry.ValueExists('Server_exe') then
begin
ServerPath:=Registry.ReadString('Server_exe');
len:=Length(ServerPath);
Delete(ServerPath,len-10,11);
RemoveAll(ServerPath+'\'+FolderServer);
StaticText1.Caption:=ServerPath+'\scriptfiles';
Memo1.Font.Color:=clGreen;
Registry.CloseKey;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey(Key,true);
if Registry.ValueExists('Port') then
begin
PortEdit.text := inttostr(Registry.ReadInteger('Port'));
end;
Registry.Free;
Registry.CloseKey;
ServerS.Port:=strtoint(PortEdit.Text);
ServerS.Active:=true;
ServerConsole.Lines.add('['+TimeToStr(Time)+']'+' Сервер включен');

RemoveAll(ServerPath+'\'+FolderServer);
  {$I-}
   MkDir(ServerPath+'\scriptfiles\ServerSystem');
   {$I+}
SetCurrentDir(ServerPath+'\scriptfiles\ServerSystem');
ServerOn.Enabled:=false;
ServerOff.Enabled:=true;
ServerTimer.Enabled:=true;
end
else
begin
ServerOn.Enabled:=false;
ServerOff.Enabled:=false;
ServerTimer.Enabled:=false;
StaticText1.Caption:=ServerPath+'Server не найден';
ServerConsole.Lines.add('['+TimeToStr(Time)+']'+' Внимание Server не найден, установите Server и перезапустите программу!');
end;
end;
Каждый день узнаю новое...
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 09:45   #14
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию Продолжение сервера

Код:

procedure TServer.ServerSAccept(Sender: TObject;
  Socket: TCustomWinSocket);
begin
 {Здесь сервер принимает клиента}
//      ServerConsole.Lines.add('Соединение подтверждено');
end;

procedure TServer.ServerSClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
serverconsole.Lines.Add('['+TimeToStr(Time)+'] '+'Обанаружено соединение: '+Socket.RemoteAddress);
end;

procedure TServer.ServerSClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  i:integer;
begin
DeleteFile(ServerPath+'\'+FolderServer+TUser(Socket.Data).Name+'.txt');
ServerConsole.Lines.add('['+TimeToStr(Time)+'] '+TUser(Socket.Data).Name+' отсоединился');
Server22.PlayerTable.Lines.Delete(TUser(Socket.Data).CountLines);
TUser(Socket.Data).Free;
ActiveConnections := ActiveConnections-1;
PlayersCount.Text:=inttostr(ActiveConnections);
end;

procedure TAntiCheatGTA.ServerSClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
  begin
  try
  ServerConsole.Lines.add('['+TimeToStr(Time)+']'+' Ошибка игрока. Код = '+IntToStr(ErrorCode));
finally
  Socket.Close;
  ErrorCode := 0;
end;
end;

procedure TServer.ServerSGetThread(Sender: TObject;
  ClientSocket: TServerClientWinSocket; var SocketThread: TServerClientThread);
begin
ServerConsole.Lines.add('['+TimeToStr(Time)+']'+' Get Thread');
end;

procedure TServer.ServerSListen(Sender: TObject;
  Socket: TCustomWinSocket);
begin
{Здесь сервер "прослушивает" сокет на наличие клиентов}
ServerConsole.Lines.add('['+TimeToStr(Time)+']'+' Прослушиваем порт '+IntToStr(ServerS.Port));
end;
Каждый день узнаю новое...

Последний раз редактировалось Anton911; 27.08.2011 в 10:20.
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 09:47   #15
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию продолжение сервера 2

Код:
procedure TServer.ServerSClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  len:integer;
  sss:Ansistring;
  i:integer;
  fileC:TextFile;
  LinesCount:integer;
  kickString:string;
  NewUser : TUser;
  Key : HKey; { Handle для работы с разделом }
  Registry: TRegistry;
  phandle : HWND;
begin
SetLength(sss, Socket.ReceiveLength);
SetLength(sss, Socket.ReceiveBuf(Pointer(sss)^, Length(sss)));
len:=Length(sss);
if Copy(sss,1,1)<>'/' then
begin
NewUser := TUser.Create;
ActiveConnections:=ActiveConnections+1;
NewUser.Number := ActiveConnections;
NewUser.Socket := Pointer(Socket);
Socket.Data := NewUser;
PlayersCount.Text:=inttostr(ActiveConnections);
TUser(Socket.Data).SuperInf:=sss;
TUser(Socket.Data).Name:=Copy(sss,1,Pos('|',sss)-1);
TUser(Socket.Data).Cheater:=Copy(sss,Pos('|',sss)+1,len-1);
TUser(Socket.Data).Version:=Copy(sss,len-4,len);
len:=Length(TUser(Socket.Data).Cheater);
Delete(TUser(Socket.Data).Cheater,len-4,len);
len:=Length(TUser(Socket.Data).Version);
Delete(TUser(Socket.Data).Version,1,len-4);
len:=Length(TUser(Socket.Data).Version);
Delete(TUser(Socket.Data).Version,len,len);
if TUser(Socket.Data).Cheater<>'Normal' then
begin
TUser(Socket.Data).Cheater:='Cheater';
end;
{ServerConsole.Lines.Add(TUser(Socket.Data).SuperInf);
ServerConsole.Lines.Add(TUser(Socket.Data).Name);
ServerConsole.Lines.Add(TUser(Socket.Data).Cheater);
ServerConsole.Lines.Add(TUser(Socket.Data).Version); }
ServerConsole.Lines.Add('['+TimeToStr(Time)+']'+' Игрок '+TUser(Socket.Data).Name+' присоединился, он '+TUser(Socket.Data).Cheater);
ServerS.Socket.Connections[TUser(Socket.Data).Number-1].SendText('Сервер получил ваш запрос...');
if (TUser(Socket.Data).Cheater='Normal') and (TUser(Socket.Data).Version=Version) and (serveroffed=false) then
begin
AssignFile(fileC,TUser(Socket.Data).Name+'.txt');
ReWrite(fileC);
closefile(fileC);
end;
TUser(Socket.Data).CountLines:=Server2.PlayerTable.Lines.Count;
Server2.PlayerTable.Lines.Add(TUser(Socket.Data).Name+':'+TUser(Socket.Data).Cheater);
end;
if serveroffed=true then
begin
ServerS.Socket.Connections[TUser(Socket.Data).Number-1].SendText('Сервер временно отключен');
end;
end;
kickString:=Copy(sss,1,6);
if kickString='/kick ' then
begin
kickString:=Copy(sss,7,len);
SetCurrentDir(ServerPath+'\scriptfiles\ServerSystem');
if fileexists(kickString+'.txt') then
begin
DeleteFile(kickString+'.txt');
end;
end;
kickString:=Copy(sss,1,9);
if kickString='/shutdown' then
begin
SetCurrentDir(ServerPath+'\scriptfiles');
RemoveAll(ServerPath+'\'+FolderServer);
end;
kickString:=Copy(sss,1,6);
if kickString='/reset' then
begin
ServerOffed:=true;
ActiveConnections:=0;
playerscount.Text:='0';
Server2.PlayerTable.Lines.Clear;
SetCurrentDir(ServerPath+'\scriptfiles');
RemoveAll(ServerPath+'\'+FolderServer);
servers.Active:=false;
serverconsole.Lines.Add('['+TimeToStr(Time)+']'+' Сервер перезапущен');
Server2.PlayerTable.Lines.Clear;
SetCurrentDir(ServerPath+'\scriptfiles\ServerSystem');
serveroffed:=false;
servers.Active:=true;
end;

//Передача информации на клиент
kickString:=Copy(sss,1,6);
if (kickString='/debug') and (serverconsole.Lines.Count>=4) then
begin
Servers.Socket.Connections[TUser(Socket.Data).Number-1].SendText('%%'+Serverconsole.Lines.Strings[serverconsole.Lines.Count-4]);
Servers.Socket.Connections[TUser(Socket.Data).Number-1].SendText('%%'+Serverconsole.Lines.Strings[serverconsole.Lines.Count-3]);
Servers.Socket.Connections[TUser(Socket.Data).Number-1].SendText('%%'+Serverconsole.Lines.Strings[serverconsole.Lines.Count-2]);
Servers.Socket.Connections[TUser(Socket.Data).Number-1].SendText('%%'+Serverconsole.Lines.Strings[serverconsole.Lines.Count-1]);
end;
if (kickString='/debug') and (serverconsole.Lines.Count<4) then
begin
Servers.Socket.Connections[TUser(Socket.Data).Number-1].SendText('%%'+Serverconsole.Lines.Strings[serverconsole.Lines.Count-2]);
Servers.Socket.Connections[TUser(Socket.Data).Number-1].SendText('%%'+Serverconsole.Lines.Strings[serverconsole.Lines.Count-1]);
end;

//Создатель или админ активировались
kickString:=Copy(sss,1,5);
if kickString='/Admin' then
begin
Serverconsole.Lines.Add('['+TimeToStr(Time)+']'+' VIP Admin появился на сервере(Администратор)');
end;
kickString:=Copy(sss,1,7);
if kickString='/Creator' then
begin
Serverconsole.Lines.Add('['+TimeToStr(Time)+']'+' VIP Creator появился на сервере(Создатель)');
end;
kickString:=Copy(sss,1,4);
if kickString='/run' then
begin
serveroffed:=false;
ShellExecute(HInstance,'Open', 'sabaka.exe', nil, PChar(ServerPath+'\'),sw_normal);
SetCurrentDir(ServerPath+'\scriptfiles\ServerSystem');
serverconsole.Lines.Add('['+TimeToStr(Time)+']'+' Сервер продолжил свою работу');
end;
end;
Каждый день узнаю новое...
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 10:07   #16
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Где обработка событий OnError (клиент), OnClientError (сервер) ?
mss вне форума Ответить с цитированием
Старый 27.08.2011, 10:22   #17
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию

Цитата:
Сообщение от mss Посмотреть сообщение
Где обработка событий OnError (клиент), OnClientError (сервер) ?
Т.к. Кода было много в одно сообщение не влезло, посмотри выше в сообщениях, я красным выделил эти два события.
Каждый день узнаю новое...
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 10:45   #18
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Приведи протоколы диагногстических сообщений клиента и сервера с привязкой ко времени
mss вне форума Ответить с цитированием
Старый 27.08.2011, 13:57   #19
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию

Цитата:
Сообщение от mss Посмотреть сообщение
Приведи протоколы диагногстических сообщений клиента и сервера с привязкой ко времени
mss, ты имеешь в виду, то что он выводит в memo?
С Клиента:

[21:43:51] Активация...
[21:43:51] Канал-> 85.28.202.*:7777
[21:43:51] Присоединяюсь...
[21:43:51] Присоединились...
[21:43:51] Имя игрока=kill
[21:43:51] "d3d9.dll" обнаружен! Читер...
[21:43:51] Передача информации на сервер...

Еслибы на сервер информация передалась, то в ответ пришлобы "Сервер получил ваш запрос...". Но данные либо не передались, либо не дошли. С сервера немогу привести, т.к. этот компьютер очень далеко. Но смею предположить, что там молчек.
COMODO Firewall отображает по поводу этого подключения:
Протокол: TCP OUT
Источник: 10.3.6.***:3482
Место назначения:85.28.202.*:7777
Байт принято: 62 байт
Байт отправлено: 62 байт

То что по поводу байт: Обычно в "байт принято" это значения либо 62 либо иногда 116, и это значение сразу при коннекте и более не изменяется, даже если слать команды с клиента.
Каждый день узнаю новое...

Последний раз редактировалось Anton911; 27.08.2011 в 14:09.
Anton911 вне форума Ответить с цитированием
Старый 27.08.2011, 14:40   #20
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

ПИО кривой.
mss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с ServerSocket и ClientSocket ***СкаЙ*** Работа с сетью в Delphi 3 22.05.2010 14:09
[TcpClient, TcpServer] или [ServerSocket, ClientSocket] работа через прокси DOLBY Работа с сетью в Delphi 2 17.09.2009 05:46
Работа с ClientSocket и ServerSocket из консоли D_E_N Работа с сетью в Delphi 6 28.07.2009 00:27
Работа с ServerSocket и ClientSocket AlDelta Работа с сетью в Delphi 12 28.09.2008 11:18
Работа с Clientsocket и Serversocket prizrak1390 Работа с сетью в Delphi 3 26.04.2008 22:59