UdpClient.BeginReceive(AsyncCallback, Object) 方法
- 命名空间:
- System.Net.Sockets
- 程序集:
- System.Net.Sockets.dll
从远程主机异步接收数据报。
public IAsyncResult BeginReceive (AsyncCallback requestCallback, object state);
参数
- requestCallback
- AsyncCallback
一个 AsyncCallback 委托,它引用操作完成时要调用的方法。
- state
- Object
一个用户定义的对象,其中包含接收操作的相关信息。 当操作完成时,此对象会被传递给 requestCallback 委托。
返回
一个 IAsyncResult 对象,它引用异步接收。
示例
下面的代码示例使用 BeginReceive 异步接收服务器响应。
public struct UdpState
{
public UdpClient u;
public IPEndPoint e;
} public static bool messageReceived = false; public static void ReceiveCallback(IAsyncResult ar)
{
UdpClient u = ((UdpState)(ar.AsyncState)).u;
IPEndPoint e = ((UdpState)(ar.AsyncState)).e; byte[] receiveBytes = u.EndReceive(ar, ref e);
string receiveString = Encoding.ASCII.GetString(receiveBytes); Console.WriteLine($"Received: {receiveString}");
messageReceived = true;
} public static void ReceiveMessages()
{
// Receive a message and write it to the console.
IPEndPoint e = new IPEndPoint(IPAddress.Any, s_listenPort);
UdpClient u = new UdpClient(e); UdpState s = new UdpState();
s.e = e;
s.u = u; Console.WriteLine("listening for messages");
u.BeginReceive(new AsyncCallback(ReceiveCallback), s); // Do some work while we wait for a message. For this example, we'll just sleep
while (!messageReceived)
{
Thread.Sleep(100);
}
}
注解
BeginReceive必须通过调用方法完成异步操作 EndReceive 。 通常,方法由 requestCallback 委托调用。
在操作完成之前,此方法不会被阻止。 若要在操作完成之前一直阻止,请使用 Receive 方法。
有关使用异步编程模型的详细信息,请参阅 以异步方式调用同步方法。
适用于
.NET
.NET Core
.NET Framework
.NET Standard
Xamarin.Android
Xamarin.iOS
Xamarin.Mac
UdpClient.BeginReceive(AsyncCallback, Object) 方法的更多相关文章
- [Guava学习笔记]Basic Utilities: Null, 前置条件, Object方法, 排序, 异常
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3842433.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- JavaScript非构造函数的继承( object()方法、浅拷贝与深拷贝 )
一.什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人". var Chinese = { nation:'中国' }; 还有一个对象,叫做&qu ...
- [Google Guava] 1.3-常见Object方法
原文链接 译者: 沈义扬 equals 当一个对象中的字段可以为null时,实现Object.equals方法会很痛苦,因为不得不分别对它们进行null检查.使用Objects.equal帮助你执行n ...
- 执行ArrayList的remove(object)方法抛异常?
简介 或许有很多小伙伴都尝试过如下的代码: ArrayList<Object> list = ...; for (Object object : list) { if (条件成立) { l ...
- 11.Object方法
综述 Object是Java中所有类的父类,对它的学习十分的重要, Object的函数除了final方法,基本上都是被设计为要被覆盖的(Override),这节我们就一起来学习这些函数. 1.equa ...
- Object方法equals、hashCode
java知识背景: 1)hashCode()方法返回的是Jvm的32位地址 2)==比较的是对象在jvm中的地址 3)Object的equals()比较的就是jvm物理地址 4)比较2个对象使用equ ...
- [Guava源码分析]Objects 和 ComparisonChain:帮助重写Object方法
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3874194.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- 自学Python2.3-基本数据类型-元组tuple(object) 方法
Python tuple方法总结 一.元组的简介 1.元组与列表一样,也是一种序列,但是唯一不同的元组是不能修改的 2.元组的元素不可修改,但是元组元素的元素是可以修改的 3.元组通过()括起来表示 ...
- Java中的对象Object方法之---wait()和notifiy()
这一篇咋们继续,接着来介绍wait()和notify()方法,我们都知道这两个方法和之前介绍的方法不太一样,那就是这两个方法是对象Object上的,不属于Thread类上的.我们也知道这两个方法是实现 ...
- Object方法
1. getClass() 返回此 Object 的运行时类. 2. hashCode() 返回该对象的哈希码值. 3. equals() 指示其他某个对象是否与此对象“相等”. 4. toStrin ...
随机推荐
- activiti教程
一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档.信息或任务的过程,从 ...
- AI五子棋_07 落子点四周棋形获取
AI五子棋 第七步 恭喜你到达第七步! 到这一步,你对战场环境就有了充分的了解.下面我们准备打造机器大脑了.你可能已经有你自己的想法了,不过别着急,先跟着我的思路做.我会提示你解决一些基本的问题. 棋 ...
- DOS下的网络管理命令
DOS下的网络管理命令 一. 实验目的 掌握DOS下的网络管理命令 二. 实验内容和要求 在DOS环境下用不同的网络管理命令,实现不同的网络管理功能 三. 实验方法.步骤及结果测试 1. 原理分析及 ...
- cmu15545-数据访问方式:B+树(B+Tree)
目录 基本概念 基于磁盘的B+树 查询与索引 设计选择 结点大小(Node Size) 合并阈值(Merge Thredshold) 变长键(Variable-length Keys) 结点内部搜索( ...
- P4253 SCOI2015 小凸玩密室
P4253 SCOI2015 小凸玩密室 一道紫色的 dp. 思路 首先读题: 要保证任意时刻所有被点亮的灯泡必须连通 在点亮一个灯泡后必须先点亮其子树所有灯泡才能点亮其他灯泡 考虑设 \(g[u][ ...
- 记录一次CTF经典PHP反序列化
PHP反序列化 序列化通俗来讲就是将对象转化为可以存储.传输的字符串,反序列化就是把字符串再变回对象的过程. 例如: <?php class chybate { var $test = '123 ...
- 读书笔记-C#8.0本质论-06
18.4 并行迭代 如果一个对CPU资源占用较大的计算可以很容易被分割为多个彼此完全独立的部分以任意顺序执行,则要使用并行循环.示例如下: using System; using System.Col ...
- golang之常用标准库汇总
1. import "runtime/debug" func Stack func Stack() []byte Stack 返回格式化的go程的调用栈踪迹. 对于每一个调用栈,它 ...
- SPRING 动态注册BEAN
场景 有些情况下,不能直接使用BEAN的方式: @Bean(name = "storage") public DataSourceProxy storageDataSourcePr ...
- web移动端常见问题(二)
1.input光标颜色 默认情况下,光标颜色与字体颜色color相同,但也可以通过caret-color属性来单独设置 但是IOS的光标与字体颜色无关,默认是蓝色 可以单独设置光标颜色,这样ios也有 ...