扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:AustinLei 来源:天极网 2007年10月31日
关键字:
unit uClientMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, ComCtrls, ToolWin, ExtCtrls, StdCtrls, Buttons; const SocketHost = '172.16.1.6'; //服务器端地址 type TfrmClientMain = class(TForm) ControlBar1: TControlBar; ToolBar1: TToolBar; tbConnected: TToolButton; tbSend: TToolButton; tbClose: TToolButton; tbDisconnected: TToolButton; ClientSocket: TClientSocket; Edit1: TEdit; Memo1: TMemo; StatusBar: TStatusBar; btnSend: TBitBtn; procedure tbConnectedClick(Sender: TObject); procedure tbDisconnectedClick(Sender: TObject); procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); procedure tbSendClick(Sender: TObject); procedure tbCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocketConnecting(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocketDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); private { Private declarations } public { Public declarations } end; var frmClientMain: TfrmClientMain; implementation {$R *.DFM} //打开套接字连接 procedure TfrmClientMain.tbConnectedClick(Sender: TObject); begin ClientSocket.Open ; end; //关闭套接字连接 procedure TfrmClientMain.tbDisconnectedClick(Sender: TObject); begin ClientSocket.Close; end; //接受服务器端的回复 procedure TfrmClientMain.ClientSocketRead(Sender: TObject;Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end; //发送信息到服务器端 procedure TfrmClientMain.tbSendClick(Sender: TObject); begin ClientSocket.Socket.SendText(Edit1.Text); end; procedure TfrmClientMain.tbCloseClick(Sender: TObject); begin Close; end; //设置要连接的服务器端地址 procedure TfrmClientMain.FormShow(Sender: TObject); begin ClientSocket.Host := SocketHost; end; //已经连接到服务器端 procedure TfrmClientMain.ClientSocketConnect(Sender: TObject;Socket: TCustomWinSocket); begin tbSend.Enabled := True; tbDisconnected.Enabled :=True; btnSend.Enabled := True; StatusBar.Panels[0].Text := '已经连接到 '+ Socket.RemoteHost ; end; //正在连接到服务器端 procedure TfrmClientMain.ClientSocketConnecting(Sender: TObject;Socket: TCustomWinSocket); begin StatusBar.Panels[0].Text := '正在连接到服务器... ' ; end; //当断开与服务器端的连接时发生 procedure TfrmClientMain.ClientSocketDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin tbSend.Enabled := False; btnSend.Enabled := False; tbDisconnected.Enabled := False; StatusBar.Panels[0].Text := '已经断开与 '+ Socket.RemoteHost +' 的连接'; end; procedure TfrmClientMain.FormClose(Sender: TObject; var Action: TCloseAction); begin ClientSocket.Close ; end; //当与服务器端的连接发生错误时 procedure TfrmClientMain.ClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;var ErrorCode: Integer); begin StatusBar.Panels[0].Text := '与服务器端的连接发生错误'; ErrorCode := 0; end; end. |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者