clientc.cpp

来自「一个用于delphi多线程Socket.多线程Socket阻塞模式下通信的例子」· C++ 代码 · 共 103 行

CPP
103
字号
/*
    BCB-Socket阻塞模式通讯测试-客户端
    作者:Sncel(地狱情人) QQ:6522203
    指导:invalid(空心菜) QQ:309283
    http://bcb.vicp.net
*/


//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MyClient.h"
#include "ClientC.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TClientFrm *ClientFrm;
//---------------------------------------------------------------------------
__fastcall TClientFrm::TClientFrm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TClientFrm::Button1Click(TObject *Sender)
{
 AnsiString ServerIP=InputBox("服务器IP地址", "请输入服务器IP地址:", "");
 if (ServerIP=="") return;
 try
 {
  ClientSocket1->Address=ServerIP;
  ClientSocket1->Active=True;
  Button1->Enabled=false;
  Button2->Enabled=true;
  Button3->Enabled=true;
  Memo1->Lines->Add("已连接到:"+ServerIP+":"+ClientSocket1->Port);
  Memo1->Lines->Add("本机IP:"+ClientSocket1->Socket->LocalAddress+":"+ClientSocket1->Socket->LocalPort);
  MyClient *ReadData=new MyClient(false);
 }
 catch(...)
 {
  Application->MessageBoxA("不能连接到目标服务器,请检查服务器IP地址!",NULL,MB_OK+16);
  }

}
//---------------------------------------------------------------------------
void __fastcall TClientFrm::Button2Click(TObject *Sender)
{
 try
 {
   if (Edit1->Text=="") return;
   ClientSocket1->Socket->SendText(Edit1->Text);
   Memo1->Lines->Add(ClientSocket1->Socket->LocalAddress+"::"+Edit1->Text);
   Edit1->Text="";
  }
 catch(...)
 {
   Memo1->Lines->Add("发送失败!");
   ClientSocket1->Close();
   Button1->Enabled=true;
   Button2->Enabled=false;
   Button3->Enabled=false;
  }
}
//---------------------------------------------------------------------------

void __fastcall TClientFrm::Button3Click(TObject *Sender)
{
ClientSocket1->Close();
Button1->Enabled=true;
Button2->Enabled=false;
Button3->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TClientFrm::Button4Click(TObject *Sender)
{

exit(0);
}
//---------------------------------------------------------------------------























⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?