扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:虚度 来源:yesky 2007年10月31日
关键字:
procedure TFormMain.BtnStartClick(Sender: TObject); begin IdTCPServer.DefaultPort := StrToInt(EdtPort.Text); IdTCPServer.Active := True; BtnStart.Enabled := False; BtnStop.Enabled := True; LbLog.Items.Add('服务器已成功启动!'); end; procedure TFormMain.BtnStopClick(Sender: TObject); begin IdTCPServer.Active := False; BtnStart.Enabled := True; BtnStop.Enabled := False; LbLog.Items.Add('服务器已成功停止!'); end; procedure TFormMain.IdTCPServerConnect(AThread: TIdPeerThread); begin LbLog.Items.Add('来自主机 ' + AThread.Connection.Socket.Binding.PeerIP + ' 的连接请求已被接纳!'); AThread.Connection.WriteLn('100: 欢迎连接到简单TCP服务器!'); end; procedure TFormMain.IdTCPServerExecute(AThread: TIdPeerThread); var sCommand: string; begin with AThread.Connection do begin sCommand := ReadLn(); FLogEntry := sCommand + ' 来自于主机 ' + AThread.Connection.Socket.Binding.PeerIP; AThread.Synchronize(AddLogEntry); if AnsiStartsText('DATA ', sCommand) then begin FReceived := RightStr(sCommand, Length(sCommand)-5); WriteLn('200: 数据接收成功!'); AThread.Synchronize(DisplayData); end else if SameText(sCommand, 'QUIT') then begin FLogEntry := '断开同主机 ' + AThread.Connection.Socket.Binding.PeerIP + ' 的连接!'; AThread.Synchronize(AddLogEntry); Disconnect; end else begin WriteLn('500: 无法识别的命令!'); FLogEntry := '无法识别命令:' + sCommand; AThread.Synchronize(AddLogEntry); end;//endif end; end; procedure TFormMain.DisplayData(); begin EdtData.Text := FReceived; end; procedure TFormMain.AddLogEntry(); begin LbLog.Items.Add(FLogEntry); end; |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者