📄 c14_2f.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "C14_2f.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
UDP1->LocalPort = 1024; // 设置接收端口
UDP1->RemotePort = 1024; // 设置发送端口
UDP1->RemoteHost = "129.200.255.255"; // 实验主机的IP地址为:“129.200.2.1”
// “129.200.255.255”为该网络的通播地址
// 通播功能只能用于当前网络中,
// 由于IP地址分为网络地址和主机地址两部分
// 本IP地址(“129.200.2.1”)为B类地址,
//“129.200”为网络地址,“.2.1”为主机地址
// 通播地址的网络地址不便,主机地址为全一,
// 对应当前主机,则为“129.200.255.255”
// 注:A类地址的通播地址为:“xxx.255.255.255”
// B类地址的通播地址为:“xxx.xxx.255.255”
// C类地址的通播地址为:“xxx.xxx.xxx.255”
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if( Key == VK_RETURN)
{
// 如果按回车键,发送当前行
UDP1->SendData(Memo1->Lines->Strings[Memo1->Lines->Count - 1]);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::UDP1DataArrival(TObject *Sender, int bytesTotal)
{
Variant Data; // 设置接收缓冲区
// Variant 类是可变数据类,用于处理不同类型的数据。
UDP1->GetData(Data, VT_BSTR); // 接收数据
Memo2->Lines->Add(Data); // 在Memo2中显示收到的数据
Bar->SimpleText = "收到数据,来自:" + UDP1->RemoteHostIP; // 显示发送方IP地址。
// 当UDP控件收到数据后,
// 在其 RemoteHostIP 属性中保存对方IP地址。
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -