本文整理汇总了C#中System.Net.Sockets.Socket.ReceiveMessageFromAsync方法的典型用法代码示例。如果您正苦于以下问题:C# Socket.ReceiveMessageFromAsync方法的具体用法?C# Socket.ReceiveMessageFromAsync怎么用?C# Socket.ReceiveMessageFromAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Sockets.Socket
的用法示例。
在下文中一共展示了Socket.ReceiveMessageFromAsync方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Start
public void Start(IPEndPoint localEndPoint, CancellationToken token)
{
_token = token;
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
_socket.Bind(localEndPoint);
EndPoint remote = new IPEndPoint(IPAddress.Any, 0);
var args = new SocketAsyncEventArgs { RemoteEndPoint = remote };
args.SetBuffer(new byte[BufferSize], 0, BufferSize);
args.Completed += CompletedAsync;
_socket.ReceiveMessageFromAsync(args);
}
示例2: NetworkInterface_LoopbackInterfaceIndex_MatchesReceivedPackets
public async Task NetworkInterface_LoopbackInterfaceIndex_MatchesReceivedPackets(bool ipv6)
{
using (var client = new Socket(SocketType.Dgram, ProtocolType.Udp))
using (var server = new Socket(SocketType.Dgram, ProtocolType.Udp))
{
server.Bind(new IPEndPoint(ipv6 ? IPAddress.IPv6Loopback : IPAddress.Loopback, 0));
var serverEndPoint = (IPEndPoint)server.LocalEndPoint;
Task<SocketReceiveMessageFromResult> receivedTask =
server.ReceiveMessageFromAsync(new ArraySegment<byte>(new byte[1]), SocketFlags.None, serverEndPoint);
while (!receivedTask.IsCompleted)
{
client.SendTo(new byte[] { 42 }, serverEndPoint);
await Task.Delay(1);
}
Assert.Equal(
(await receivedTask).PacketInformation.Interface,
ipv6 ? NetworkInterface.IPv6LoopbackInterfaceIndex : NetworkInterface.LoopbackInterfaceIndex);
}
}