资源简介
该DEMO主要根据官网例子改编,另外加了些个人处理,保留接发数据传播,另外支持数万并发
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace BRKJ.IPCO.Client
{
public class BufferManager
{
int m_numBytes; // the total number of bytes controlled by the buffer pool
byte[] m_buffer; // the underlying byte array maintained by the Buffer Manager
Stack m_freeIndexPool; //
int m_currentIndex;
int m_bufferSize;
public BufferManager(int totalBytes int bufferSize)
{
m_numBytes = totalBytes;
m_currentIndex = 0;
m_bufferSize = bufferSize;
m_freeIndexPool = new Stack();
}
// Allocates buffer space used by the buffer pool
public void InitBuffer()
{
// create one big large buffer and divide that
// out to each SocketAsyncEventArg object
m_buffer = new byte[m_numBytes];
}
// Assigns a buffer from the buffer pool to the
// specified SocketAsyncEventArgs object
//
// true if the buffer was successfully set else false
public bool SetBuffer(SocketAsyncEventArgs args)
{
if (m_freeIndexPool.Count > 0)
{
args.SetBuffer(m_buffer m_freeIndexPool.Pop() m_bufferSize);
}
else
{
if ((m_numBytes - m_bufferSize) < m_currentIndex)
{
return false;
}
args.SetBuffer(m_buffer m_currentIndex m_bufferSize);
m_currentIndex += m_bufferSize;
}
return true;
}
// Removes the buffer from a SocketAsyncEventArg object.
// This frees the buffer back to the buffer pool
public void FreeBuffer(SocketAsyncEventArgs args)
{
m_freeIndexPool.Push(args.Offset);
args.SetBuffer(null 0 0);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 189 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\App.config
文件 9497 2018-07-28 15:33 TCPSOCKET.IPCO\BRKJ.IPCO.Client\bin\ClientDebug.rar
文件 20480 2018-07-28 15:33 TCPSOCKET.IPCO\BRKJ.IPCO.Client\bin\Debug\BRKJ.IPCO.Client.exe
文件 189 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\bin\Debug\BRKJ.IPCO.Client.exe.config
文件 4064 2018-07-28 14:04 TCPSOCKET.IPCO\BRKJ.IPCO.Client\BRKJ.IPCO.Client.csproj
文件 2165 2018-07-28 13:47 TCPSOCKET.IPCO\BRKJ.IPCO.Client\BufferManager.cs
文件 13392 2018-07-28 15:05 TCPSOCKET.IPCO\BRKJ.IPCO.Client\CliectSocket.cs
文件 5750 2018-07-28 13:58 TCPSOCKET.IPCO\BRKJ.IPCO.Client\ClientRequest.cs
文件 5088 2018-07-28 15:32 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Form1.cs
文件 7478 2018-07-28 15:32 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Form1.Designer.cs
文件 5817 2018-07-28 15:32 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Form1.resx
文件 538 2018-07-28 13:47 TCPSOCKET.IPCO\BRKJ.IPCO.Client\MySocketEventArgs.cs
文件 864 2018-07-28 15:07 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\BRKJ.IPCO.Client.csproj.FileListAbsolute.txt
文件 977 2018-07-28 15:33 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\BRKJ.IPCO.Client.csproj.GenerateResource.Cache
文件 20480 2018-07-28 15:33 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\BRKJ.IPCO.Client.exe
文件 180 2018-07-28 15:33 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\BRKJ.IPCO.Client.Form1.resources
文件 46592 2018-07-28 15:33 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\BRKJ.IPCO.Client.pdb
文件 180 2018-07-28 14:14 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\BRKJ.IPCO.Client.Properties.Resources.resources
文件 7109 2018-07-28 13:53 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 528 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Program.cs
文件 1356 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Properties\AssemblyInfo.cs
文件 2884 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Properties\Resources.Designer.cs
文件 5612 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Properties\Resources.resx
文件 1103 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Properties\Settings.Designer.cs
文件 249 2018-07-28 11:42 TCPSOCKET.IPCO\BRKJ.IPCO.Client\Properties\Settings.settings
文件 189 2018-07-28 11:41 TCPSOCKET.IPCO\BRKJ.IPCO.Server\BRKJ.IPCO.Server\App.config
文件 1152 2018-07-28 12:08 TCPSOCKET.IPCO\BRKJ.IPCO.Server\BRKJ.IPCO.Server\AsyncUserToken.cs
............此处省略57个文件信息
- 上一篇:C# DBHelper类
- 下一篇:C#线程间操作无效Study
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- SuperPuTTY-1.4.0.8.zip
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
评论
共有 条评论