摘要:
在编写WPF的XAML文件时,我们都会看到系统生成的默认文件里,包含如下东西:xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"那么他们是什么意思呢?xmlns是XAML引用的命名空间不带冒号的,是作为默认命名空间,例如:<TextBlock />带冒号的,在XML里就需要用前缀来引用,例如:<x:Code />当你复制上面引用的地址到浏览器里打 阅读全文
摘要:
上一篇中,我们已经学会了服务器的代码,至此我们的SOcket的TCP通讯连接已经完成。这一篇我们总结一下。服务器开启后,开始异步监听客户端连接。客户端连接时,实例化TCPListenerClient,并开始异步监听数据。接收到数据时,判断数据长度,0则为断开连接,不为0则引发接收数据完成事件。可以通过TCPListenerClient发送数据或断开连接。服务器关闭时要先断开所有客户端连接。客户端连接服务器,开始异步接收服务器数据。接收到数据时,判断数据长度,0则为断开连接,不为0则引发接收数据完成事件。客户端连接服务器后,可以发送数据与断开连接。SocketHandler是专门处理接收发送的对 阅读全文
摘要:
上一篇中,我们编写了SocketHandler处理Socket的IO。 现在我们只剩下服务器端了。 服务器端包含两个类,一个TCPListener,一个TCPListenerClient。 TCPListener只管Start与Stop还有Accept。 TCPListenerClient是连接到服 阅读全文
摘要:
上一篇中,我们编写了客户端功能。 这一篇将讲解ISocketHandler的实现。 再来回顾一下ISocketHandler接口。 做一个类SocketHandler继承ISocketHandler接口 增加两个属性与构造函数。 StateSet可以保存我们的异步调用结果等数据 SendQueue用 阅读全文
摘要:
本文章将讲解基于TCP连接的Socket通讯,使用Socket异步功能,并且无粘包现象,通过事件驱动使用。在编写Socket代码之前,我们得要定义一下Socket的基本功能。作为一个TCP连接,不论是客户端还是服务器端,它都得有以下接口:public interface ISocket{ /// <summary> /// 获取是否已连接。 /// </summary> bool IsConnected { get; } /// <summary> /// 发送数据。 /// </summary> /// <param name=" 阅读全文
摘要:
//克隆当前区域信息System.Globalization.NumberFormatInfo info = (System.Globalization.NumberFormatInfo)System.Globalization.CultureInfo.CurrentCulture.NumberFormat.Clone();//小数保留2位 info.CurrencyDecimalDigits = 2;value.ToString("c", info); 阅读全文
摘要:
<ItemsControl.ItemTemplate> <DataTemplate> <Viewbox Width="60" Height="60" Stretch="Uniform"> <ContentControl Content="{Binding}"> </ContentControl> </Viewbox> </DataTemplate></ItemsControl.ItemTemplate>使用此种方法,不论 阅读全文