gpt4 book ai didi

c# - 是否有等同于 System.Net.Sockets.UdpClient 的 dot42?

转载 作者:行者123 更新时间:2023-11-29 21:18:55 24 4
gpt4 key购买 nike

首先,我是 Android 和 dot42 的新手。我构建了一个 UDP 监听器类,它在 Windows 应用程序中运行良好。我正在使用 System.Net.Sockets.UdpClient 类。

现在,我尝试在 dot42 项目中使用我的 UDP 监听器类,但我收到错误消息

Type System.Net.Sockets.UdpClient not found.

我想,这个类在 dot42 中不可用?

有没有一种方法可以将下面的相同代码(或仅进行少量修改)用于 Android 应用程序?

using System;
using System.Net;
using System.Net.Sockets;

namespace FSInterface
{
public class UDPReceiver
{
private UdpClient _udpRx;
private IPEndPoint ep;
private int _port;

public delegate void BytesReceive(byte[] buffer);
public event BytesReceive OnBytesReceive;

public UDPReceiver(int port)
{
_port = port;
_udpRx = new UdpClient();
_udpRx.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
_udpRx.ExclusiveAddressUse = false;
ep = new IPEndPoint(IPAddress.Any, _port);
_udpRx.Client.Bind(ep);
_udpRx.BeginReceive(new AsyncCallback(ReceiveCallback), null);
}

private void ReceiveCallback(IAsyncResult ar)
{
_udpRx.BeginReceive(new AsyncCallback(ReceiveCallback), null);

byte[] buffer = _udpRx.EndReceive(ar, ref ep);

if (OnBytesReceive != null)
{
OnBytesReceive(buffer);
}
}
}
}

最佳答案

Dot42是一个很有前途的项目,还缺少更完整的BCL。

在这种情况下,您应该使用 java 类。您可以在 java 中找到许多客户端 UDP 代码示例。如果您想在常规 .NET 和 dot42 之间共享代码,则必须使用 udp 方法的接口(interface),并为常规 .NET 和 Dot42 单独实现。

关于c# - 是否有等同于 System.Net.Sockets.UdpClient 的 dot42?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20984442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com