Client端:
新建一个Project,在Form中放FastNet中的NMUDP控件,设置如下:
LocalPort: 1111
RemoteHost: 127.0.0.1
RemotePort: 2222
在.h文件中设置一个结构体:
struct ST_BUFFER
{
char sID;
int iPort;
};
在Form中放一个button控件,在click事件中写如下代码:
TMemoryStream *MyStream = new TMemoryStream();
struct ST_BUFFER Buf;
int LenStream;
Buf.sID='a';
Buf.iPorts=100;
LenStream = sizeof(Buf);
MyStream->Write(&Buf, LenStream);
NMUDP1->SendStream(MyStream);
delete MyStream;
Server端:
新建另一个Project,在Form中放FastNet中的NMUDP控件,设置如下:
NMUDP设置:
LocalPort: 2222
RemoteHost: 127.0.0.1
RemotePort: 1111
在.h文件中设置一个结构体:
struct ST_BUFFER
{
char sID;
int iPort;
};
在以下代码就会自动接收数据
void __fastcall TForm1::NMUDP1DataReceived(TComponent *Sender,
int NumberBytes, AnsiString FromIP, int Port)
{
TMemoryStream *MyStream = new TMemoryStream();
struct ST_BUFFER Buf;
NMUDP1->ReadStream(MyStream);
MyStream->Read(&Buf,NumberBytes);
/*显示代码*/
}
以上代码通过本机就能调试,如果两台计算机相连,只要修改RemoteHost中的IP地址即可。
如有更好的办法,请各位高人多多指点!!!