各位大侠你们好,小弟遇到了如此糟糕的问题真是.......请看
我在服务器端的程序是用
procedure TMySocket.playconn(Socket: TCustomWinSocket); //玩家和服务器联结
var
int_cyc, int_temp: Integer;
begin
int_temp := 0;
for int_cyc := 0 to sessions do
begin
if session[int_cyc].CUsed = False then //将以联结玩家的信息加入SESSION数组
begin
session[int_cyc].CHandle := socket.Handle;
session[int_cyc].CSocket := socket;
session[int_cyc].CName := socket.RemoteHost;
session[int_cyc].CAddress := socket.RemoteAddress;
session[int_cyc].CUsed := True;
session[int_cyc].CStart := True;
int_temp := 1;
break;
//在这加下session[int_cyc].csocket.sendtext('fdfd')试验都不行.那边就是不触发事件
end;
end;
if int_temp = 0 then
begin
sessions := sessions + 1;
session[sessions].CHandle := socket.Handle;
session[sessions].CSocket := socket;
session[sessions].CName := socket.RemoteHost;
session[sessions].CAddress := socket.RemoteAddress;
session[sessions].CUsed := True;
session[int_cyc].CStart := True;
//在这加下session[int_cyc].csocket.sendtext('fdfd')试验都不行.那边就是不触发事件 end;
end;
来捕获客户端的联接.在客户端是用
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
myclient.playread(Socket);
if myclient.addanet = True then
begin
button1.Enabled := True;
ShowMessage('fdfdfd');
end;
end;procedure TMyClient.playread(Socket: TCustomWinSocket);
var
temp, aa: string;
begin
temp := socket.ReceiveText;
if Copy(temp, 1, 3) = 'snd' then
begin
rearray(Socket, Copy(temp, 5,
Length(temp)), strtoint(Copy(temp, 4, 1)));
end;
if Copy(temp, 1, 3) = 'say' then
begin
addanet := True;
end;
if Copy(temp, 1, 3) = 'win' then
begin
end;end;
来获取服务器端送来的控制信息.以前这都没问题不知怎么今天就出问题了,客户端收不到服务器端的信息,跟本触发不了TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
请问各位大侠谁有这样的经历请告知一二
我在服务器端的程序是用
procedure TMySocket.playconn(Socket: TCustomWinSocket); //玩家和服务器联结
var
int_cyc, int_temp: Integer;
begin
int_temp := 0;
for int_cyc := 0 to sessions do
begin
if session[int_cyc].CUsed = False then //将以联结玩家的信息加入SESSION数组
begin
session[int_cyc].CHandle := socket.Handle;
session[int_cyc].CSocket := socket;
session[int_cyc].CName := socket.RemoteHost;
session[int_cyc].CAddress := socket.RemoteAddress;
session[int_cyc].CUsed := True;
session[int_cyc].CStart := True;
int_temp := 1;
break;
//在这加下session[int_cyc].csocket.sendtext('fdfd')试验都不行.那边就是不触发事件
end;
end;
if int_temp = 0 then
begin
sessions := sessions + 1;
session[sessions].CHandle := socket.Handle;
session[sessions].CSocket := socket;
session[sessions].CName := socket.RemoteHost;
session[sessions].CAddress := socket.RemoteAddress;
session[sessions].CUsed := True;
session[int_cyc].CStart := True;
//在这加下session[int_cyc].csocket.sendtext('fdfd')试验都不行.那边就是不触发事件 end;
end;
来捕获客户端的联接.在客户端是用
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
myclient.playread(Socket);
if myclient.addanet = True then
begin
button1.Enabled := True;
ShowMessage('fdfdfd');
end;
end;procedure TMyClient.playread(Socket: TCustomWinSocket);
var
temp, aa: string;
begin
temp := socket.ReceiveText;
if Copy(temp, 1, 3) = 'snd' then
begin
rearray(Socket, Copy(temp, 5,
Length(temp)), strtoint(Copy(temp, 4, 1)));
end;
if Copy(temp, 1, 3) = 'say' then
begin
addanet := True;
end;
if Copy(temp, 1, 3) = 'win' then
begin
end;end;
来获取服务器端送来的控制信息.以前这都没问题不知怎么今天就出问题了,客户端收不到服务器端的信息,跟本触发不了TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
请问各位大侠谁有这样的经历请告知一二
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
mysocket.playconn(socket);
end;