- 博客(11)
- 收藏
- 关注
原创 TcpClient TcpListener
客户端和服务器之间实现了双向通信,即客户端发送消息给服务器,服务器回显该消息并额外发送一条自己的消息给客户端,客户端接收并显示这些消息。是实现TCP通信的高级工具,它们建立在Socket通信的基础之上,提供了更方便的API来处理TCP连接。UDP(User Datagram Protocol)是另一种传输层协议,与TCP相对,它是无连接的、不可靠的、基于数据报的。对于TCP的作用,但不涉及连接的建立和维护,因为UDP本身就是无连接的。类是对UDP协议的高级封装,提供了发送和接收UDP数据报的功能,类似于。
2024-05-22 18:20:31
2011
1
原创 Socket基础
close()是一个更加直接的方式,用于完全关闭套接字,结束所有读写操作并释放资源。shutdown()提供了更灵活的控制,允许逐步关闭套接字的读写能力,适用于需要在完全断开连接前进行特殊清理或通知的场景。在实际应用中,根据的需求选择使用close()或者shutdown(),或者两者结合使用,以实现对套接字操作的精确控制。
2024-05-22 16:34:38
1825
1
原创 06 CancellationToken中止线程
在 C# 中优雅地终止线程可以通过使用实现。是一种线程安全的机制,用于在多个线程之间传递取消操作信号。下面是一个使用优雅地终止线程的示例。
2024-05-18 01:16:38
527
原创 04多线程--线程池
线程池是一种软件设计模式,用于管理和复用线程资源,以提高程序性能和资源利用率。线程池的设计会预先创建一定数量的线程,并将这些线程置于一个池中等待任务分配,而不是为每个新任务单独创建线程。
2024-05-17 16:36:26
1419
原创 01线程的创建与使用
默认情况下,主线程和通过 new Thread() 创建且未明确设置为后台线程的线程都是前台线程,前台线程对于进程的生命周期至关重要,只要还有任何前台线程在运行,进程就会持续运行。使用这种方式,可以向方法传递任意数量的参数。可以通过将 Thread.IsBackground 属性设置为 true 来将一个线程标记为后台线程。方法1: 使用 lambda 表达式调用目标方法,在表达式内指定参数。方法2:向Thread的Start方法传递参数,只能传一个参数。的方法等待任务完成,编译器会自动处理这一逻辑。
2024-05-17 15:09:39
248
原创 WPF中Style的四个书写位置
Button >--该style是私有的,仅作用于该Button,故不需要x:Key 去定义名字方便其他Button取到--><Setter Property="Content" Value="按钮2"/></Style></Button>
2024-05-10 20:12:33
250
原创 Could not load file or assembly ‘MaterialDesignThemes.Wpf, Culture=neutral, PublicKeyToken=null‘. 系统
Could not load file or assembly 'MaterialDesignThemes.Wpf, Culture=neutral, PublicKeyToken=null'. 系统找不到指定文件。将仅显示平台控件,修改为显示所有控件就ok啦(我也不知道什么时候误触修改的。但是运行后界面效果正常。
2024-05-03 00:30:05
592
转载 WPF布局控件
在StackPanel中排列方式为Vertical时,可以利用子控件的HorizontalAlignment属性或VerticalAlignment来设置子控件在StackPanel内部的显示位置,比如在垂直排列布局模式下,可以设置HorizontalAlignment属性值,Left表示显示在左则,Right显示在右则,Center则居中显示,Stretch表示拉伸填充显示。其次,它还提供了一个枚举依赖属性,叫Dock。BorderThickness(1,1,1,1,)分别对应左,上,右,下;
2024-02-27 23:48:10
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人