实例介绍
HP-Socket.Net 是一个高性能的网络通信库的C#实现,支持.Net Framework 2.0 、.Net Core 2.0 、.Net 5.0 和 .Net 6.0。它提供了一系列基础和扩展的网络通信组件,适用于Windows、Linux和macOS平台,可以帮助开发者轻松构建高效、稳定的网络应用。 ## 安装指南 通过NuGet包管理器可以方便地部署HPSocket.Net,只需在Package Manager控制台执行安装命令: Install-Package HPSocket.Net 或者在Visual Studio的解决方案中右键项目名 -> 管理NuGet包 -> 浏览页面 -> 搜索框输入HPSocket.Net进行安装。 ## 支持平台 - Windows 7 x86/x64 - Linux kernel 2.6.32 x86/x64 - macOS 10.12 x64 ## 组件列表 HPSocket.Net 提供了丰富的基础和扩展组件,包括TCP、UDP、SSL、HTTP、线程池等基础组件,以及TCP端口转发、简易HTTP/HTTPS服务器/客户端、WebSocket等扩展组件。其中,TCP端口转发组件仅需十几行代码即可完成TCP端口转发功能。 ## 数据接收适配器 HPSocket.Net 还提供了数据接收适配器组件,帮助用户处理TCP通信中可能出现的粘包、半包等问题。目前支持固定头部数据接收适配器、固定长度数据接收适配器、终结符数据接收适配器和区间数据接收适配器四种模式,适用于不同的业务场景。 ## 使用示例 对于大多数组件的使用,请参考demo目录下的项目示例。例如,创建一个基于事件绑定的简易HTTP服务器实例代码如下: using(IHttpEasyServer httpServer = new HttpEasyServer()) { // 其他设置 // 绑定OnEasyMessageData事件 httpServer.OnEasyMessageData = (sender, id, data) => { // data参数每次为一个完整的数据包 // 处理数据 return HttpParseResult.Ok; }; } HPSocket.Net 不仅提供了强大的网络通信能力,还通过数据接收适配器组件简化了数据处理流程,是构建高性能网络应用的理想选择。
【实例截图】
【核心代码】
文件清单
└── HPSocket.Net-772e118da526f74bd1b1854566c8a94fd1b31312
├── demo
│ ├── Bin
│ │ ├── net6.0
│ │ │ ├── ssl-cert
│ │ │ │ ├── ca2.crt
│ │ │ │ ├── ca2.key
│ │ │ │ ├── ca2.pem
│ │ │ │ ├── ca.crt
│ │ │ │ ├── ca.key
│ │ │ │ ├── ca.pem
│ │ │ │ ├── client2.cer
│ │ │ │ ├── client2.crt
│ │ │ │ ├── client2.csr
│ │ │ │ ├── client2.key
│ │ │ │ ├── client2.pem
│ │ │ │ ├── client.cer
│ │ │ │ ├── client.crt
│ │ │ │ ├── client.csr
│ │ │ │ ├── client.key
│ │ │ │ ├── client.pem
│ │ │ │ ├── server2.cer
│ │ │ │ ├── server2.crt
│ │ │ │ ├── server2.csr
│ │ │ │ ├── server2.key
│ │ │ │ ├── server2.pem
│ │ │ │ ├── server.cer
│ │ │ │ ├── server.crt
│ │ │ │ ├── server.csr
│ │ │ │ ├── server.key
│ │ │ │ └── server.pem
│ │ │ └── template.html
│ │ └── ssl-cert
│ │ ├── ca2.crt
│ │ ├── ca2.key
│ │ ├── ca2.pem
│ │ ├── ca.crt
│ │ ├── ca.key
│ │ ├── ca.pem
│ │ ├── client2.cer
│ │ ├── client2.crt
│ │ ├── client2.csr
│ │ ├── client2.key
│ │ ├── client2.pem
│ │ ├── client.cer
│ │ ├── client.crt
│ │ ├── client.csr
│ │ ├── client.key
│ │ ├── client.pem
│ │ ├── server2.cer
│ │ ├── server2.crt
│ │ ├── server2.csr
│ │ ├── server2.key
│ │ ├── server2.pem
│ │ ├── server.cer
│ │ ├── server.crt
│ │ ├── server.csr
│ │ ├── server.key
│ │ └── server.pem
│ ├── Demo.sln
│ ├── Models
│ │ ├── ClientInfo.cs
│ │ ├── Models.csproj
│ │ ├── MyFileInfo.cs
│ │ ├── Packet.cs
│ │ ├── PacketType.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TaskInfo.cs
│ ├── net60
│ │ ├── HttpClient-TestEcho
│ │ │ ├── HttpClient-TestEcho.csproj
│ │ │ └── Program.cs
│ │ ├── HttpServer-TestEcho
│ │ │ ├── HttpServer-TestEcho.csproj
│ │ │ ├── Program.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── WebSocketClient-TestEcho
│ │ │ ├── Program.cs
│ │ │ └── WebSocketClient-TestEcho.csproj
│ │ └── WebSocketServer-TestEcho
│ │ ├── EchoHub.cs
│ │ ├── Program.cs
│ │ ├── WebSocketServer-TestEcho.csproj
│ │ └── WelcomeHub.cs
│ ├── net70
│ │ ├── HttpSyncRequest
│ │ │ ├── HttpSyncRequest.csproj
│ │ │ └── Program.cs
│ │ └── Socks5Server
│ │ ├── Account.cs
│ │ ├── ClientInfo.cs
│ │ ├── Program.cs
│ │ ├── ProtocolState.cs
│ │ ├── Socks5Server.cs
│ │ └── Socks5Server.csproj
│ ├── SslAgent-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormAgent.cs
│ │ ├── FormAgent.Designer.cs
│ │ ├── FormAgent.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── SslAgent-TestEcho.csproj
│ ├── SslClient-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── SslClient-TestEcho.csproj
│ ├── SslServer-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── SslServer-TestEcho.csproj
│ ├── TcpAgent-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormAgent.cs
│ │ ├── FormAgent.Designer.cs
│ │ ├── FormAgent.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpAgent-TestEcho.csproj
│ ├── TcpClient-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpClient-TestEcho.csproj
│ ├── TcpPackAgent-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormAgent.cs
│ │ ├── FormAgent.Designer.cs
│ │ ├── FormAgent.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPackAgent-TestEcho.csproj
│ ├── TcpPackClient-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPackClient-TestEcho.csproj
│ ├── TcpPackServer-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPackServer-TestEcho.csproj
│ ├── TcpPortForwarding
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── Form.cs
│ │ ├── Form.Designer.cs
│ │ ├── Form.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPortForwarding.csproj
│ ├── TcpPullAgent-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormAgent.cs
│ │ ├── FormAgent.Designer.cs
│ │ ├── FormAgent.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPullAgent-TestEcho.csproj
│ ├── TcpPullClient-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPullClient-TestEcho.csproj
│ ├── TcpPullServer-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpPullServer-TestEcho.csproj
│ ├── Tcp-SendSmallFile
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── Tcp-SendSmallFile.csproj
│ ├── TcpServer-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpServer-TestEcho.csproj
│ ├── TcpServer-TestEcho-Adapter
│ │ ├── App.config
│ │ ├── DataReceiveAdapter
│ │ │ ├── BinaryDataReceiveAdapter.cs
│ │ │ ├── HeadTailDataReceiveAdapter.cs
│ │ │ ├── PacketDataReceiveAdapter.cs
│ │ │ └── TextDataReceiveAdapter.cs
│ │ ├── packages.config
│ │ ├── PacketHelper.cs
│ │ ├── Program-BetweenAnd.cs
│ │ ├── Program.cs
│ │ ├── Program-FixedSize.cs
│ │ ├── Program-Terminator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── TcpServer-TestEcho-Adapter.csproj
│ ├── TcpServer-TestEcho-AsyncQueue
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── TcpServer-TestEcho-AsyncQueue.csproj
│ └── udp
│ ├── UdpArqClient-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── UdpArqClient-TestEcho.csproj
│ ├── UdpArqServer-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormServer.cs
│ │ ├── FormServer.Designer.cs
│ │ ├── FormServer.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── UdpArqServer-TestEcho.csproj
│ ├── UdpClient-TestEcho
│ │ ├── App.config
│ │ ├── app.manifest
│ │ ├── FormClient.cs
│ │ ├── FormClient.Designer.cs
│ │ ├── FormClient.resx
│ │ ├── packages.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ └── UdpClient-TestEcho.csproj
│ └── UdpServer-TestEcho
│ ├── App.config
│ ├── app.manifest
│ ├── FormServer.cs
│ ├── FormServer.Designer.cs
│ ├── FormServer.resx
│ ├── packages.config
│ ├── Program.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ └── UdpServer-TestEcho.csproj
├── LICENSE
├── README.md
├── README_zh.md
└── src
├── HPSocket.Net
│ ├── Adapter
│ │ ├── BetweenAndDataReceiveAdapter.cs
│ │ ├── DataReceiveAdapter.cs
│ │ ├── DataReceiveAdapterInfo.cs
│ │ ├── Delegates.cs
│ │ ├── FixedHeaderDataReceiveAdapter.cs
│ │ ├── FixedSizeDataReceiveAdapter.cs
│ │ ├── PortForwardingConnectAdapter.cs
│ │ └── TerminatorDataReceiveAdapter.cs
│ ├── AsyncQueue
│ │ ├── AsyncQueue.cs
│ │ └── Worker.cs
│ ├── Base
│ │ ├── Agent.cs
│ │ ├── Client.cs
│ │ ├── Proxy.cs
│ │ └── Server.cs
│ ├── Common
│ │ ├── Delegates.cs
│ │ ├── Enums.cs
│ │ ├── Extensions.cs
│ │ ├── ExtraData.cs
│ │ ├── InitializationException.cs
│ │ ├── NativeExtra.cs
│ │ └── Structures.cs
│ ├── HPSocket.csproj.DotSettings
│ ├── HPSocket.Net.csproj
│ ├── HPSocket.Net.csproj.DotSettings
│ ├── HPSocket.Net.xml
│ ├── Http
│ │ ├── CookieManager.cs
│ │ ├── Delegates.cs
│ │ ├── Enums.cs
│ │ ├── HttpAgent.cs
│ │ ├── HttpClient.cs
│ │ ├── HttpEasyAgent.cs
│ │ ├── HttpEasyClient.cs
│ │ ├── HttpEasyServer.cs
│ │ ├── HttpsAgent.cs
│ │ ├── HttpsClient.cs
│ │ ├── HttpsEasyAgent.cs
│ │ ├── HttpsEasyClient.cs
│ │ ├── HttpsEasyServer.cs
│ │ ├── HttpServer.cs
│ │ ├── HttpsServer.cs
│ │ ├── HttpsSyncClient.cs
│ │ └── HttpSyncClient.cs
│ ├── IAgent.cs
│ ├── IClient.cs
│ ├── IHttpAgent.cs
│ ├── IHttpClient.cs
│ ├── IHttp.cs
│ ├── IHttpEasyAgent.cs
│ ├── IHttpEasyClient.cs
│ ├── IHttpEasyData.cs
│ ├── IHttpEasyServer.cs
│ ├── IHttpMultiId.cs
│ ├── IHttpProxy.cs
│ ├── IHttpsAgent.cs
│ ├── IHttpsClient.cs
│ ├── IHttpsEasyAgent.cs
│ ├── IHttpsEasyClient.cs
│ ├── IHttpsEasyServer.cs
│ ├── IHttpServer.cs
│ ├── IHttpsServer.cs
│ ├── IHttpsSyncClient.cs
│ ├── IHttpSyncClient.cs
│ ├── IProxy.cs
│ ├── IServer.cs
│ ├── ISocket.cs
│ ├── ISocks5Proxy.cs
│ ├── ISslAgent.cs
│ ├── ISslClient.cs
│ ├── ISslPackAgent.cs
│ ├── ISslPackClient.cs
│ ├── ISslPackServer.cs
│ ├── ISslPullAgent.cs
│ ├── ISslPullClient.cs
│ ├── ISslPullServer.cs
│ ├── ISslServer.cs
│ ├── ITcpAgent.cs
│ ├── ITcpClient.cs
│ ├── ITcpPackAgent.cs
│ ├── ITcpPackClient.cs
│ ├── ITcpPackServer.cs
│ ├── ITcpPortForwarding.cs
│ ├── ITcpPullAgent.cs
│ ├── ITcpPullClient.cs
│ ├── ITcpPullServer.cs
│ ├── ITcpServer.cs
│ ├── IUdpArqClient.cs
│ ├── IUdpArqServer.cs
│ ├── IUdpCast.cs
│ ├── IUdpClient.cs
│ ├── IUdpNode.cs
│ ├── IUdpServer.cs
│ ├── IWebSocketAgent.cs
│ ├── IWebSocket.cs
│ ├── IWebSocketServer.cs
│ ├── Proxy
│ │ ├── Enums.cs
│ │ ├── HttpProxy.cs
│ │ └── Socks5Proxy.cs
│ ├── Sdk
│ │ ├── Agent.cs
│ │ ├── Client.cs
│ │ ├── Delegates.cs
│ │ ├── Enums.cs
│ │ ├── HpSocketLibrary.cs
│ │ ├── Http.cs
│ │ ├── Server.cs
│ │ ├── Ssl.cs
│ │ ├── Sys.cs
│ │ ├── Tcp.cs
│ │ ├── ThreadPool.cs
│ │ └── Udp.cs
│ ├── Ssl
│ │ ├── Enums.cs
│ │ ├── ISsl.cs
│ │ ├── SslAgent.cs
│ │ ├── SslClient.cs
│ │ ├── SslPackAgent.cs
│ │ ├── SslPackClient.cs
│ │ ├── SslPackServer.cs
│ │ ├── SslPullAgent.cs
│ │ ├── SslPullClient.cs
│ │ ├── SslPullServer.cs
│ │ ├── SslServer.cs
│ │ └── SslUtils.cs
│ ├── Tcp
│ │ ├── Enums.cs
│ │ ├── TcpAgent.cs
│ │ ├── TcpClient.cs
│ │ ├── TcpPackAgent.cs
│ │ ├── TcpPackClient.cs
│ │ ├── TcpPackServer.cs
│ │ ├── TcpPortForwarding.cs
│ │ ├── TcpPortForwardingExtra.cs
│ │ ├── TcpPullAgent.cs
│ │ ├── TcpPullClient.cs
│ │ ├── TcpPullServer.cs
│ │ └── TcpServer.cs
│ ├── Thread
│ │ ├── Delegates.cs
│ │ ├── Enums.cs
│ │ ├── SocketTask.cs
│ │ ├── ThreadPool.cs
│ │ └── ThreadProcExArgs.cs
│ ├── Udp
│ │ ├── Enums.cs
│ │ ├── UdpArqClient.cs
│ │ ├── UdpArqServer.cs
│ │ ├── UdpCast.cs
│ │ ├── UdpClient.cs
│ │ ├── UdpNode.cs
│ │ └── UdpServer.cs
│ └── WebSocket
│ ├── Delegates.cs
│ ├── Enums.cs
│ ├── HttpSession.cs
│ ├── Hub.cs
│ ├── IHub.cs
│ ├── MessageState.cs
│ ├── SslConfiguration.cs
│ ├── WebSocketAgent.cs
│ ├── WebSocketException.cs
│ ├── WebSocketServer.cs
│ └── WebSocketSession.cs
└── HPSocket.Net.sln
72 directories, 504 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论