📄 unit1.pas.~4~
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls, ComCtrls, ExtCtrls;
type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Ztailan: TStatusBar;
Memo1: TMemo;
GroupBox1: TGroupBox;
Memo2: TMemo;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Edit2: TEdit;
Button2: TButton;
GroupBox5: TGroupBox;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure FormCreate(Sender: TObject);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ROutMessage(sMsg: string);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button2Click(Sender: TObject);
procedure sockxiaoxi (s:Boolean) ;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure Tform1.ROutMessage(sMsg: string);
begin
sMsg:='[' + DateTimeToStr(Now) + '] ' + sMsg;
Memo1.Lines.Add(sMsg);
end;
procedure Tform1.sockxiaoxi (s:Boolean) ;
var
fmsg:string;
begin
if s=false then
begin
fMsg:= edit2.Text;
Memo2.Lines.Add('[' + DateTimeToStr(Now) + '] 发送: '+ fMsg);
ServerSocket1.socket.connections[0].sendtext(fmsg);
end else
begin
fmsg:=serversocket1.Socket.ReceiveText;
Memo2.Lines.Add('[' + DateTimeToStr(Now) + '] 收到: '+ fMsg);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ServerSocket1.open; //开始监听
Ztailan.Panels[0].Text:='开始监听...' ;
Ztailan.Panels[1].Text:=inttostr(ServerSocket1.Port);
{这样服务端就一直在监听1987这个端口,监听到连接就响应
OnAccept这个事件}
ROutMessage('开始监听');
Button1.Enabled:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
sockxiaoxi(true) ;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Port:=1987;//设置的监听端口
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Ztailan.Panels[0].Text:='已连接...' ;
ROutMessage('连接');
listbox1.Items.Add(Socket.RemoteAddress);
end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Ztailan.Panels[0].Text:='已断开...';
ROutMessage('连接断开');
Button1.Enabled:=true;
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo2.Lines.Add('[' + DateTimeToStr(Now) + '] 收到: '+Socket.ReceiveText);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -