1>我已经完成一个网络程序用ClinetSocket和ServerSocket控件。客户端的程序(ClientSocket)安装在服务器上,服务端的程序(ServerSocket).
安装在客户端(600台)。客户端的程序(ClientSocket)通过指定服务端的程序(ServerSocket)所在PC的IP地址与之连接,且对其进行控制。
2>我现在可以做到的是一次连接一台控制一台!我想做到的是一次连接多台,发一次命令同时执行。或者做到一次指定多个IP,然后象循环一样从第一个
到最后一个逐步完成!
3>服务器端程序用的控件是ClientSocket ,客户端的程序用的控件是ServerSocket.(安装在600台上)。
4>ServerSocket 可以连接多个ClientSocket. 而现在ClientSocket要连接多个ServerSocket.该如何做??
安装在客户端(600台)。客户端的程序(ClientSocket)通过指定服务端的程序(ServerSocket)所在PC的IP地址与之连接,且对其进行控制。
2>我现在可以做到的是一次连接一台控制一台!我想做到的是一次连接多台,发一次命令同时执行。或者做到一次指定多个IP,然后象循环一样从第一个
到最后一个逐步完成!
3>服务器端程序用的控件是ClientSocket ,客户端的程序用的控件是ServerSocket.(安装在600台上)。
4>ServerSocket 可以连接多个ClientSocket. 而现在ClientSocket要连接多个ServerSocket.该如何做??
或者用多线程,每个线程创建一个clientsocket,然后分别和对应的serversocket连接
用UDP吧
也可以都用 hehe^^ 保正完成任务
断开,然后指定另一个socketserver端口.
比如你的LAN中有100台机子,IP是从X.X.X.2到X.X.X.102那么在其中一台要发送命令的机子上进行广播,而LAN中其它机子则根据广播收到的信息进行响应,就可以了。以下只列出主要代码,(一个CLIENTSOCKET,一个SERVERSOCKET,一个NMUDP,在每个程序里都要有,这样这个程序就既是SERVER,又是CLIENT)procedure TForm1.BitBtn1Click(Sender: TObject);
var
Send : TMemoryStream;
StrSend : string;
begin
NMUDP1.RemotePort := 6001;
NMUDP1.LocalPort := 6001;
NMUDP1.RemoteHost := 'x.x.x.255' //这里的IP是根据你自己的改变
strSend := Edit1.Text; //这里用个EDIT控件来记录你要发送的内容
Send := TMemoryStream.Create;
Send.Write(StrSend[1],Length(StrSend));
NMUDP1.SendStream(Send);
end;procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
Recv : TMemoryStream;
StrRecv : string;
begin
Recv := TMemoryStream;
SetLength(StrRecv,NumberBytes);
NMUDP1.ReadStream(Recv);
Recv.Read(StrRecv[1],NumberBytes);
Memo1.Lines.Add('有消息来自'+FromIP); //这里的MEMO控件用来显示收到的内容
Memo1.Lines.Add('内容是:'+strrecv);
end;用C/S控件连接过程略,你应该知道怎么写了吧