Socket网络通讯,的区别及联系
分类:计算机编程

互连网编制程序

应用程序可以通过 TCPClient、TCPListener 和 UDPClient 类使用传输调控协议(TCP) 和顾客数据文报公约 (UDP) 服务。那些左券类创建在 System.Net.Sockets.Socket 类的根底之上,担当数据传送的内幕。(相当于说TCPClient、TCPListener 和 UDPClient 类是用来简化Socket)

TCPServer:

        使用C#举办互连网编制程序时,平日都亟需用到System.Net命名空间、System.Net.Sockets命名空间和System.Net.Mail命名空间;

TcpClient 和 TcpListener 使用 NetworkStream 类表示互连网。使用 GetStream 方法再次来到互连网流,然后调用该流的 Read 和 Write 方法。NetworkStream 不持有公约类的功底套接字,由此关门它并不影响套接字。

TCP 互联网顾客端侦听连接。

1. System.Net命名空间:为眼下互联网上行使的有余磋商提供了归纳的编制程序接口。

UdpClient 类使用字节数组保存 UDP 数据文报。使用 Send 方法向互联网发送数据,使用 Receive 方法接收传入的数额文报。

可使用 TcpClient 或 Socket 来连接 TcpListener。可使用 IPEndPoint、本地 IP 地址及端口号大概仅使用端口号,来创立 TcpListener。能够将本地 IP 地址钦命为 Any,将当地端口号内定为 0(若是指望基础服务提供程序为你分配这一个值)。假若你选拔如此做,可在连接套接字后采用LocalEndpoint 属性来标记已钦定的音讯。

  1. DNS类:DNS是贰个静态类,它从Internet域名系统(DNS)检索有关特定主机的音讯,在IPHostEntry类的实例中回到来自DNS查询的主机消息。(GetHostName()找到本地系统的主机名,然后再用GetHostByName()找到主机的IP地址)
  2. IPAddress类:满含计算机在IP网络上的地址,首要用以提供网际合同(IP)地址。
  3. IPEndPoint类满含应用程序连接到主机上的劳动所供给的主机和地面或远程端口音讯。首要用来将网络端点表示为IP地址和端口号。
  4. WebClient类:提供向UQashqaiL标记的别的地方、Intranet或Internet能源发送数据以至从那个能源接收数据的集体艺术。
  5. WebRequest类:.Net Framework的伸手/响应模型的肤浅基类,用于访谈Internet数据。使用该要求/响应模型的应用程序能够用契约不可以预知的议程从Internet要求数据。

1.TcpClient

Start 方法用来起先侦听传入的连日央浼。Start 将对传播连接实行排队,直至您调用 Stop 方法或它已经到位 马克斯Connections 排队结束。可使用 AcceptSocket 或 AcceptTcpClient 从传播连接央浼队列提取连接。那三种办法将堵住。如果要防止阻止,可首先采取Pending 方法来显然队列中是或不是有可用的连日央求。

2. System.Net.Sockets命名空间

TcpClient 类提供了某个简短的法门,用于在一道阻止格局下通过互联网来一连、发送和接收流数据。为使 TcpClient 连接并交流数据,使用 TCP ProtocolType 创造的 TcpListener 或 Socket 必需侦听是不是有扩散的连续央求。可以使用上面三种方法之延续接到该侦听器:

 bool done = false;
            //TcpListener listener = new TcpListener(portNum); //依照VS二零零五 MSDN 此方法已经过时,不再采纳
            // IPEndPoint类将网络标记为IP地址和端口号
            TcpListener listener = new TcpListener(new IPEndPoint(IPAddress.Any, portNum));
            listener.Start();
            while (!done)
            {
                Console.Write("Waiting for connection...");
                TcpClient client = listener.AcceptTcpClient();
                Console.WriteLine("Connection accepted.");
                NetworkStream ns = client.GetStream();
               
                byte[] tempBuffer = new byte[4096];
                FileStream fs = File.Open("D:\tcpServer" new Random().Next().ToString()   ".gif", FileMode.CreateNew);
                int bytesRead = 0;
                do
                {
                    bytesRead = ns.Read(tempBuffer, 0, 4096);
                    fs.Write(tempBuffer, 0, bytesRead);
                }while (bytesRead > 0);
                
                fs.Close();
                client.Close();
                Console.WriteLine("file accepted.");               
            }
            listener.Stop();

        首要提供制作Sockets网络应用程序的相干类,在那之中Socket类,TcpClient类、TcpListener类和UdpClient类较为常用。在.NET框架下开采时,直接利用System.Net.Sockets名称空间中的Socket类编制程序较为复杂,而应用层的类TcpClient、TcpListener 和 UdpClient为 Socket 通信提供了更简便、对顾客更融洽的接口。它们和Socket类之间的这种档案的次序关系如图

(1)创造一个 TcpClient,并调用八个可用的 Connect 方法之一。

TCPClient:

图片 1

(2)使用远程主机的主机名和端口号创立TcpClient。此构造函数将电动尝试一个总是。

TcpClient 为 TCP 互连网服务提供客商端连接。

(1)Socket类:最重要用以管理总是(将应用程序与端口连接起来,端口是一台Computer的数量都通过此延续网络, Socket是依赖流套接字公约(TCP合同)/基于数据报套接字左券(UDP左券)最为通用的API。),完毕Berkeley通讯端套接字接口,同期它还定义了绑定、连接网络端点及传输数据所需的各样情势。

给后代的验证要发送和接收数据,请使用 GetStream 方法来获取三个NetworkStream。调用 NetworkStream 的 Write 和 Read 方法与远程主机之间发送和接收数据。使用 Close 方法释放与 TcpClient 关联的全体能源。

TcpClient 类提供了一部分简便的法子,用于在一同阻塞格局下通过互连网来连续、发送和接收流数据。

    1. void Bind(IPEndPoint localEP):绑定地址,使Socket与三个地面终节点相关联。
    2. Void Connect(IPEndPoint ip):创立连接
    3. Void Listen(int backlog):将Socket置于侦听状态, backlog最多可连接数。
    4. Int Receive(byte[] buffer):接收数据
    5. Int Receive (byte[] buffer,ref IPEndPoint ip):从钦命地点接收数据
    6. Int Send(byte[] buffer):发送数据
    7. Int Send To(byte[] buffer,ref IPEndPoint remoteIP):向内定地方发送数据
    8. Void Shutdown(SocketShutdown how):关闭套接字,how钦赐不在允许实践的操作

上边包车型客车例子给出怎么选取TcpClient连接受服务器:

为使 TcpClient 连接并交流数据,使用 TCP ProtocolType 创建的 TcpListenerSocket 必需侦听是不是有传出的连接需要。能够利用下边三种格局之接二连三接到该侦听器:

注:使用accept函数建构新的总是时,并非使用原本的Socket实行通信,而是回到三个新的Socket套接字实行三番五次通讯。原本的Socket继续步向监听状态,等待客人的连天要求。

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;
 
namespace tcpclient
{
    class Program
    {
        private static int portNum = 11000;
        private static string hostName = Dns.GetHostName().ToString();
        public static void Main(String[] args)
        {
            try
            {
                Console.WriteLine("主机名字:"  Dns.GetHostName());
                Console.WriteLine("主机IP地址:"  Dns.GetHostAddresses(Dns.GetHostName())[0]);
                TcpClient client = new TcpClient(hostName, portNum);
                NetworkStream ns = client.GetStream();
                byte[] bytes = new byte[1024];
                int bytesRead = ns.Read(bytes, 0, bytes.Length);
                //将字节流解码为字符串
                Console.WriteLine(Encoding.ASCII.GetString(bytes, 0, bytesRead));
                client.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
     
        }
    }
}

  • 创立一个 TcpClient,并调用多个可用的 Connect 方法之一。
  • 应用远程主机的主机名和端口号成立 TcpClient。此构造函数将机关尝试二个老是。

(2)TcpClient类:基于Socket类营造,用于在一块儿阻止形式下通过互联网来连接,发送,接收数据。

2.TcpListener

注意   假使要在联合签名阻塞情势下发送无连接数据报,请使用 UdpClient 类。

        那是它亦能够越来越高的抽象程度提供TCP服务的底蕴。展现在网络数据的出殡和埋葬和经受地方,是TcpClient使用NetworkStream网络流管理技能,使得它读写多少进一步有益于直观。TcpClient类专为顾客端设计,它为 TCP 互连网服务提供客商端连接。

TcpListener 类提供一些差十分少方法,用于在拦截同步形式下侦听和承受传入连接央浼。可接纳TcpClient 或 Socket 来三翻五次 TcpListener。可接纳 IPEndPoint、本地 IP 地址及端口号或许仅使用端口号,来成立 TcpListener。能够将本地 IP 地址钦命为 Any,将地点端口号钦定为 0(若是指望基础服务提供程序为您分配那些值)。尽管你接纳那样做,可在连接套接字后选用LocalEndpoint 属性来标记已钦定的新闻。

对后世的验证:  要发送和接收数据,请使用 GetStream 方法来收获三个 NetworkStream。调用 NetworkStreamWriteRead 方法与长途主机之间发送和接收数据。使用 Close 方法释放与 TcpClient 关联的富有能源。

(3)NetworkStream网络流:能够被视为八个数据通道,架设在数量来源端(顾客Client)和接收端(服务Server)之间,通过TcpClient.GetStream方法,重临用于发送和接收数据的网络流NetworkStream。

Start 方法用来开首侦听传入的连日供给。Start 将对传播连接实行排队,直至您调用 Stop 方法或它曾经达成 MaxConnections 排队截至。可应用 AcceptSocket 或 AcceptTcpClient 从传播连接乞求队列提取连接。这两种办法将阻碍。如若要幸免阻止,可首先利用 Pending 方法来鲜明队列中是或不是有可用的连天央求。

 

        注:要开创NetworkStream必得提供连接的Socket.私下认可意况下关闭NetworkStream并不会关闭所提供的Socket.假若要关张Socket权限,则必须将ownsSocket构造函数参数的值钦命为true.而后的数据读取及写入均指向这几个通道来进行。不扶植对网络流的专擅拜访。

调用 Stop 方法来关闭 TcpListener。

//第一步:读取文件
            Console.WriteLine("本程序完结向服务器发送文件...");
            FileStream fs = File.Open("D:\xml\ok.png", FileMode.Open);
            byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 0, (int)fs.Length);
            fs.Close();

演示如下:通过以下方法取得NetworkStream互连网流之后,就能够应用正规流读写方法Write和Read来发送和承受多少了。

下边包车型地铁例证给出怎么采用TcpListener监听客商端的伸手:

            //第二步:发送文书
            try
            {
                TcpClient client = new TcpClient(System.Net.Dns.GetHostName(), portNum);
                NetworkStream ns = client.GetStream();
                ns.Write(buffer, 0, buffer.Length);
                ns.Close();
                client.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

1 TcpClient tcpClient = new TcpClient();             //创建TcpClient对象实例
2 tcpClient.Connect("www.baidu.com",4088);         //尝试与远程主机相连
3 NetworkStream stream=tcpClient.GetStream();      //获取网络传输流

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;
namespace tcpclient
{
    class Program
    {
        private const int portNum = 11000;
        static void Main(string[] args)
        {
            bool done = false;
            //TcpListener listener = new TcpListener(portNum); //依据VS二〇〇六 MSDN 此方法已经过时,不再使用
            // IPEndPoint类将网络标志为IP地址和端口号
            TcpListener listener = new TcpListener(new IPEndPoint(IPAddress.Any, portNum));
            listener.Start();
            while (!done)
            {
                Console.Write("Waiting for connection...");
                TcpClient client = listener.AcceptTcpClient();
                Console.WriteLine("Connection accepted.");
                NetworkStream ns = client.GetStream();
                byte[] byteTime = Encoding.ASCII.GetBytes(DateTime.Now.ToString());
                try
                {
                    ns.Write(byteTime, 0, byteTime.Length);
                    ns.Close();
                    client.Close();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }
            }
            listener.Stop();
         }
    }
}

 

  1. BeginRead():从NetworkStream初阶一步读取
  2. BeginWrite():初叶向流异步写入
  3. Close():关闭NetworkStream
  4. EndRead():管理异步读取甘休
  5. EndWrite():管理异步写入结束
  6. Flush():刷新流中的数量
  7. Read():从流中读取
  8. ReadByte():从流中读取三个字节,并将流内的地点向前拉动一个字节。达到最终,再次回到-1。
  9. Write():将数据写入NetworkStream
  10. WriteByte():将七个字节写入流内的脚下任务,并将流内的地方向前推进二个字节。

3.UdpClient

Server:获取基础网络Socket

UdpClient 类提供了有的简易的办法,用于在阻止同步情势下发送和收受无连接 UDP 数据报。因为 UDP 是无连接传输契约,所以无需在出殡和埋葬和接收数据前创设远程主机连接。但您能够选用选取下边两种艺术之一来组建默许远程主机:

  1. AcceptSocket/AcceptTcpClient:接受挂起的接二连三供给
  2. BeginAcceptSocket/BeginAcceptTcpClient:开首一个异步操作来经受多个传唱的连年尝试
  3. Start:开端侦听传入的连接须求
  4. Stop:关闭侦听

·         使用远程主机名和端口号作为参数创制 UdpClient 类的实例。

Client顾客端连接侦听器的二种方法:

·         成立 UdpClient 类的实例,然后调用 Connect 方法。

(1)创立叁个TcpClient,并调用3个可用Connect方法之一。

能够利用在 UdpClient 中提供的别的一种发送方法将数据发送到远程设备。使用 Receive 方法能够从远程主机接收数据。

(2)使用远程主机的主机名和端口号创造TcpClient,此构造函数将机关尝试一个总是。

UdpClient 方法还允许发送和吸收接纳多路广播数据报。使用 JoinMulticastGroup 方法能够将 UdpClient 预约给多路广播组。使用 DropMulticastGroup 方法能够从多路广播组中收回对 UdpClient 的订座。

  1. Client:获取或安装基础Socket
  2. ReceiveBufferSize:获取或设置接收缓冲区的大小
  3. SendBufferSize:获取或设置发送缓冲区的分寸
  4. BeginConnect方法:最初二个对长途主机连接的异步央求
  5. Close:释放TcpClient 实例,不关门基础连接
  6. Connect:使用钦定的主机名和端口号将客商端连接到TCP主机
  7. GetStream:重临用于发送和接收数据的NetworkStream

上边包车型客车例子演示同一主机差异端口之间的UDP通讯:

成立连接TCPClient连接格局:

监听端:

(1)创设三个TcpClient,并调用八个可用的Connect()方法之一。

using System;
using System.Net.Sockets;
using System.Text;
using System.Net;
using System.Threading;
namespace Udpclient2
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                UdpClient udpClient = new UdpClient(12000);
                string returnData = "client_end";
                do
                {
                    Console.WriteLine("服务器端接收数据:.............................");
                    IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
                    // 此处通过引用传值,获得客商端的IP地址及端口号
                    Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
                    //此处获得顾客端的数码
                    returnData = Encoding.UTF8.GetString(receiveBytes);
                    //Encoding.ASCII.GetString(receiveBytes); 此处若用ASCII,无法正确管理汉语
                    Console.WriteLine("This is the message server received: "   returnData.ToString());
 
                    Thread.Sleep(3000);
                 
                    Console.WriteLine("向客商端发送数据:.............................");
                    udpClient.Connect(Dns.GetHostName().ToString(), 11000);
                    // Sends a message to the host to which you have connected.
                    string sendStr = "笔者来自服务器端:"   DateTime.Now.ToString();
                    Byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr);
                    //Byte[] sendBytes = Encoding.ASCII.GetBytes(sendStr); 此处若用ASCII,无法正确管理汉语
                    udpClient.Send(sendBytes, sendBytes.Length);
                    Console.WriteLine("This is the message server send: "   sendStr);
 
                 } while (returnData != "client_end");
                
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

  1. void Connect(IPEndPoint):使用钦命的长途网络节点将客户端连接到远程TCP主机。
    1 IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList(0);//获取IP地址
    2 IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 60000);//设置端口
    3 TcpClient tcpClientA = new TcpClient(ipLocalEndPoint);//创建客户端
    

客户端:

 

using System;
using System.Net.Sockets;
using System.Text;
using System.Net;
namespace Udpclient
{
    class Program
    {
        static void Main(string[] args)
        {
           try
            { 
               UdpClient udpClient = new UdpClient(11000);
               
               //向服务器发送数据
               udpClient.Connect(Dns.GetHostName().ToString(), 12000);
               // Sends a message to the host to which you have connected.
               string sendStr = "作者来自客商端:"   DateTime.Now.ToString();
               Byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr);
               //Byte[] sendBytes = Encoding.ASCII.GetBytes(sendStr); 此处若用ASCII,不能够准确管理普通话
               udpClient.Send(sendBytes, sendBytes.Length);
               Console.WriteLine("This is the message client send: "   sendStr);
                
               
               //等待服务器的回答,收到后出示答复,并终止对话
               IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
               // 此处通过援引传值,获得顾客端的IP地址及端口号
               Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
               //此处获得劳动器端的多寡
               string returnData = Encoding.UTF8.GetString(receiveBytes);
               //Encoding.ASCII.GetString(receiveBytes); 此处若用ASCII,无法正确处理中文
               Console.WriteLine("This is the message come from server: "   returnData.ToString());
               udpClient.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

 2. void Connect(IPAddress,int):使用内定的IP地址和端口号将顾客端连接到TcpClient主机。

 3. void Connect(string,int):将顾客端连接到钦定主机上的内定端口。

 1 TcpClient tcpClientB = new TcpClient("www.baidu.com", 8888);//创制客商端 

(2)  使用远程主机的主机名和端口号创制TcpClient。

1 TcpClient tcpClient = new TcpClient();//创建TcpClient对象实例
2 tcpClient.Connect("www.baidu.com",8080);//建立连接

        注:要发送和接受多少,先利用GetStream()方法来获得三个NetworkStream,再调用NetworkStream的Write()和Read()方法与长途主机之间发送和接收数据。最终动用Close()方法释放与TcpClient()关联的有着财富。

TcpListner:用于阻止同步格局下侦听和收受传入的一而再乞求。

        可利用TcpClient类或Socket类来接二连三TcpListener,而且能够应用IPEndPoint、本地IP地址及端口号来创建TcpListener实例对象。

        .Net中的TcpListener重要意义是监视TCP端口上客商端的央浼,通过绑定本机IP地址和相应端口创设TcpListener对象实例,并由Start方法运营侦听;当TcpListener侦听到客商端的连续后,通过AcceptTcpClient方法接受传入的连天央浼并创设TcpClient以拍卖央求,只怕经过AcceptSocket方法接受传入的连日央浼并创办Socket以拍卖央求。

(1)创建服务器端:

 1 //建立TCP监听器TcpListener对象。
 2  TcpListener tl=new TcpListener(端口号);
 3 //启动监听器
 4 tl.Start();
 5 //用监听器获取连接进来的套接字(Socket)
 6 Socket s=myList.AcceptSocket();
 7 //通过Socket的Receive方法获取客户端发送的数据
 8 byte [] result=new byte[1024];
 9 int k=s.Receive(result);
10 //通过Socket的Send方法向客户端发送数据
11 byte[] st=System.Text.Encoding.Default.GetBytes(“text”);
12 s.Send(st);
13 //在通讯结束后,需要释放资源结束监听
14 s.Close();
15 tl.Stop();

Socket创设服务器:伊始化监听Socket   接受新的顾客端连接   收发数据   关闭连接

1 socketServer = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//创建Socket 客户端
2 //Socket绑定本地端口监听客户端连接;
3 Socket.Bind(端口号);
4 Socket.Listen();
5 socket.Receive();//创建连接的客户端的Socket并开启线程接收数据;
6 socket.Send();//发送数据
7 socket.Close();//关闭连接

TcpClient成立顾客端:

 1 //建立TCP客户端TcpClient对象。
 2 TcpClient tcpclnt = new TcpClient();
 3 //连接服务器
 4 tcpclnt.Connect(IP地址字符串,端口号);
 5 //获得客户端网络传输 流
 6 Stream stm =tcpclnt.GetStream();
 7 //通过Stream的Write方法向服务器端发送的数据
 8 //通过Stream的Read方法读取服务器段发来的数据
 9 //在通讯结束后,需要释放资源,结束和服务器的连接
10 tcpclnt.Close();

TCP与UDP的区别

  1. TCP是面向连接的劳务、UDP是面向无连接服务
  2. TCP是兼具差错调控的,而UDP未有贫乏可信赖性
  3. TCP的传导是雷打不动的,UDP是冬天的
  4. UDP的实时性更加好,有大致,火速、占用财富少的优点。
  5. UDP传输限定在64KB之内,Tcp一旦确立连接,就能够按统一的格式传输多量的数据。

行使UdpClient类实现UDP左券编程

         由于UDP磋商并不须要实行规定的总是,程序中能够无需思虑连接和一部分不行的破获职业。在稍微对数码安全性须求不是相当高的场合下利用UDP左券。

        在System.Net.Sockets命名空间下的UdpClient类,提供更加直观的轻巧使用的习性和艺术,进而减弱UDP编制程序的难度。使用UdpClient时,连接的顾客端供给头阵送一个消息给服务器,服务器本事和顾客端通信。

UdpClient类的构造函数有以下三种格式:

1 UdpClient();
2 UdpClient(int port);
3 UdpClient(IPEndPoint iep);
4 UdpClient(string remoteHost,int port);

利用Socket编写UdpClient

1 Socket udpSocket;//创建Socket
2 udpSocket.Bind(IPAddress,IPEndPoint);//把Socket绑定本地IP和端口号
3 //开启线程接收信息:先保存接到信息的端口号,使用ReceiveFrom发送信息
4 EndPoint point = new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号
5 EndPoint point = (EndPoint)IPEndPoint;
6 //发送信息:使用EndPoint创建发送目标的IP和端口号;
7 //关闭线程和Socket

利用UDPClient编程

 1 //建立UDP客户端UdpClient对象。
 2 UdpClient uc=new UdpClient(端口号);
 3 //连接对方远程主机
 4 uc.Connect(对方IP地址,对方远程主机的端口号);
 5 //开启线程,通过uc的Receive方法获取远程主机发送来的数据
 6 IPEndPoint ip=new IPEndPoint(IPAddress.Any,0);
 7 byte[] b=uc.Receive(ref ip);
 8 //通过uc的Send方法向远程主机发送数据
 9 byte[] st=System.Text.Encoding.Default.GetBytes(“text”);
10 uc.Send(st);
11 //在通讯结束后,需要释放资源
12 uc.Close();

 

本文由pc28.am发布于计算机编程,转载请注明出处:Socket网络通讯,的区别及联系

上一篇:反射赋值的相关,自动属性增强 下一篇:没有了
猜你喜欢
热门排行
精彩图文
  • Socket网络通讯,的区别及联系
    Socket网络通讯,的区别及联系
    互连网编制程序 应用程序可以通过 TCPClient、TCPListener 和 UDPClient 类使用传输调控协议(TCP) 和顾客数据文报公约 (UDP) 服务。那些左券类创建在System.Net.Socke
  • 字符串和字符,Python3主导数据类型
    字符串和字符,Python3主导数据类型
    Python3字符串 字符串和字符 本节内容包括: 字符串字面量 初始化空字符串 字符串可变性 字符串的值类型 使用字符 计算字符数量 连接字符串和字符 字符
  • 行使MAVEN下载最新jar包,gulp插件介绍
    行使MAVEN下载最新jar包,gulp插件介绍
      为什么使用 1.设置maven的 环境变量 传统的给文件链接添加版本号的方法是使用gulp-rev,这里提出的解决方案是使用python来替代gulp-rev。 代码同步 1.1 添加
  • 中判断对象为空的几种方式,字符串要点
    中判断对象为空的几种方式,字符串要点
    一、 字符串 一.string.Empty   通过string定义三个字符串,可能通过String类来创造对象。 通过new String()创设有须臾间二种构造函数(从元数据),以此顺序创
  • 学学笔记,爆发HTML显示不相同
    学学笔记,爆发HTML显示不相同
    功能的设计初衷: 处理复杂的xml对比,屏蔽同节点先后顺序的影响 difflib -帮助进行差异化比较 主要涉及知识点: 这个模块提供的类和方法用来进行差异化