C# 53. 调用dll库Ymodem操作(UDP)

该代码段展示了如何在C#中使用TcpClient和UdpClient进行网络通信。它定义了一个UDP数据回调函数,用于处理接收到的数据,并通过FindNextAvailableUDPPort方法寻找可用的UDP端口进行绑定。用户点击发送按钮时,会检查并创建UDP套接字,然后向指定远程IP和端口发送数据。
摘要由CSDN通过智能技术生成
TcpClient tcpClient;
//UDP
Udp udpClient;
//定义一个数据处理的委托
UdpRxCallBackDelegate d1;
public Form1()
{
    InitializeComponent();
    d1 = new UdpRxCallBackDelegate(UdpRxCallBackFunc);
    udpClient = new Udp(d1);
}

private void UdpRxCallBackFunc(UdpDataStruct info)
{
    Invoke((EventHandler)(delegate
    {
        //接收UDP数据处理
    }));
}

private readonly int UdpMinPort = 5000;
private readonly int UdpMaxPort = 55000;

private int udpSocketCreatFlag = 0;
private readonly string locateIP = "192.168.0.100";
private readonly string remoteIp = "192.168.0.200";
private readonly int remotePort = 6000;
private int GetUpdOnePort()
{
    int freeport = udpClient.FindNextAvailableUDPPort(UdpMinPort, UdpMaxPort);
    if (freeport == 0)
    {
        MessageBox.Show("无可用UDP端口", "提示");
    }
    return freeport;
}

private void UdpSockIfNeedCreat(string locateIP)    
{
    int localport;
    if (udpSocketCreatFlag == 0)
    {
        localport = GetUpdOnePort();
        if (localport > 0)
        {
            udpClient.SockCreat(locateIP, localport);
            udpSocketCreatFlag = 1;
        }
    }
}

private void buttonUdpSend_Click(object sender, EventArgs e)
{
    UdpSockIfNeedCreat(locateIP);
    //UDP发送
	udpClient.Send(remoteIp, remotePort, buf, length);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值