可以的,ServerSocket和ClientSocket可以互相传送, ClientSocket是ClientSocket.Socket.SendText('SMALL');ServerSocket举例子给你type client_record=record CHandle: integer; //客户端套接字句柄 CSocket:TCustomWinSocket; //客户端套接字 CName:string; //客户端计算机名称 CAddress:string; //客户端计算机IP地址 CUsed: boolean; //客户端联机标志 end;type TfrmServerMain = class(TForm) ServerSocket: TServerSocket; …… …… private { Private declarations } public { Public declarations } session: array[0..CMax] of client_record; //客户端连接数组 Sessions: integer; //客户端连接数 …… end; var …… //从客户端读取信息 procedure TfrmServerMain.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); var i:integer; TempStr:string; begin for i:=0 to sessions do begin //取得匹配的客户端 if session[i].CHandle = Socket.SocketHandle then begin TempStr:=session[i].CSocket.ReceiveText;//====>从客户端发来的信息 if TempStr='BIG' then session[i].CSocket.SendText('大屏幕连接成功');//====>向客户端发信息 if TempStr='SMALL' then session[i].CSocket.SendText('小屏幕连接成功');//====>向客户端发信息 end; end; sleep(50);; end;
ClientSocket是ClientSocket.Socket.SendText('SMALL');ServerSocket举例子给你type
client_record=record
CHandle: integer; //客户端套接字句柄
CSocket:TCustomWinSocket; //客户端套接字
CName:string; //客户端计算机名称
CAddress:string; //客户端计算机IP地址
CUsed: boolean; //客户端联机标志
end;type
TfrmServerMain = class(TForm)
ServerSocket: TServerSocket;
……
……
private
{ Private declarations }
public
{ Public declarations }
session: array[0..CMax] of client_record; //客户端连接数组
Sessions: integer; //客户端连接数
……
end;
var
……
//从客户端读取信息
procedure TfrmServerMain.ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
i:integer;
TempStr:string;
begin
for i:=0 to sessions do
begin
//取得匹配的客户端
if session[i].CHandle = Socket.SocketHandle then
begin
TempStr:=session[i].CSocket.ReceiveText;//====>从客户端发来的信息
if TempStr='BIG' then
session[i].CSocket.SendText('大屏幕连接成功');//====>向客户端发信息
if TempStr='SMALL' then
session[i].CSocket.SendText('小屏幕连接成功');//====>向客户端发信息
end;
end;
sleep(50);;
end;