总算找到UdpSocket组件收发信息的问题,证明该组件收发信息无问题
前几天需要用到UdpSocket组件,但搜遍了网络也没有找到一个完整的可参考的例子.并且普遍认为该组件有问题不能实现收发信息.对此做了相关试验,证明该组件能正常收发信息.
测试代码如下:
客户端:
char buff[10] = {'T','e','s','t','\0'}; //发送的测试信息
u_short portx = StrToInt(Edit1->Text); //端口号
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(portx); //这里是关键要用htons函数进行转换格式,许多例子中不能收就是这个问题,它引起了不能正确设置端口号,造成服务端不能接收
addr.sin_addr.S_un.S_addr = inet_addr(Edit2->Text.c_str()); //服务器地址
UdpSocket1->SendTo(buff,10,addr,0);
服务器端:
char Buffer[20];
UdpSocket1->ReceiveBuf(Buffer, 20, 0);
Memo1->Lines->Add(StrPas(Buffer));
另外我还不会怎么设置固定端口号,请路过的朋友指点一二.