📄 server.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Server.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Button1->Caption=="启动")
{
Server->Active=true;
//服务器Socket打开 ,服务器处于监听状态
Button1->Caption="停止";
//Button1按钮易名
Memo1->Lines->Add("服务器已经启动");
}
else
{
Server->Active=false;
//关闭服务器
Button1->Caption="启动";
Memo1->Lines->Add("服务器已经关闭");
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if(Memo2->Lines->Strings[0]!="")
{
AnsiString message="服务器发送:"+Memo2->Lines->Strings[0];
Memo1->Lines->Add(message);
Memo2->Clear();
for(int i=0;i<Server->Socket->ActiveConnections;i++)
Server->Socket->Connections[i]->SendText(message);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerAccept(TObject *Sender,
TCustomWinSocket *Socket)
{
AnsiString str=Socket->RemoteAddress;
//获得客户端的IP地址
Edit1->Text=str;
//服务器端显示客户IP地址
str="服务器已经接收到"+Socket->RemoteHost+"的连接请求";
for(int i=0;i<Server->Socket->ActiveConnections;i++)
Server->Socket->Connections[i]->SendText(str);
//通过服务器端套接字告知相应客户端已经收到连接请求
Memo1->Lines->Add(str);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
AnsiString str=Socket->ReceiveText();
//服务器接收来自客户端的信息
Memo1->Lines->Add(str);
//将接收到的信息在Memo1 显示
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NMStrmServ1MSG(TComponent *Sender,
const AnsiString sFrom, TStream *strm)
{
if(this->SaveDialog1->Execute())
{
if(FileExists(this->SaveDialog1->FileName))
{
if(MessageBox(Handle,"目标文件已经存在,是否删除之?","信息提示",MB_YESNO)==IDNO)
{
return;
}
DeleteFile(this->SaveDialog1->FileName);
}
TFileStream *MyFStream;
//建立文件
MyFStream=new TFileStream(this->SaveDialog1->FileName,fmCreate);
try
{
MyFStream->CopyFrom(strm,strm->Size);
MessageBox(Handle,"接收目标主机发来的文件操作成功!","信息提示",MB_OK);
}
catch(...)
{
MessageBox(Handle,"接收目标主机发来的文件操作失败!","信息提示",MB_OK);
}
MyFStream->Free();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -