procedure TForm1.TSAccept(Sender: TObject; ClientSocket: TCustomIpClient);
var //Id:Cardinal;
a: string;
begin
CS := ClientSocket;
ListBox1.Items.Add(CS.RemoteHost);
Memo1.Lines.Add(DatetimeTostr(Now));
Memo1.Lines.Add(CS.RemoteHost + ':');
Memo1.Lines.Add(CS.Receiveln());
//BeginThread(nil,0,@Wait2,nil,0,ID);
while true do /{为什么我单步执行到这里……程序就直接Running了?我没有用线程,可是用死循环接受消息时也不会卡。 在这个循环里的代码明明在执行,可是无法下断,百思不得解! }
begin
a := CS.Receiveln(); //receive message form Client
if a = '' then continue;
Form1.Memo1.Lines.Add(DateTimeToStr(Now));
Form1.Memo1.Lines.Add(CS.RemoteHost + ':');
Form1.Memo1.Lines.Add(a);
end;
end;
还有这两个组件的OPen属性是干什么的?BlockMode是阻塞模式,可是到底有什么用?
(我之前看过C++的网络编程,感觉Delphi封装的组件的用法和Socket的原理相差太多,影响初学者(如我)的理解,我这样的想法对吗)